Commit Graph

25 Commits

Author SHA1 Message Date
Elijah Newren
e149802f83 Make it easier to skip blobs & commits
Automatically do renaming of references to commits that were skipped, and
automatically remove skipped blobs from the output of commits that
reference them.
2009-02-12 17:40:51 -07:00
Elijah Newren
32d680bd9b Work around git-fast-export bug by explicitly specifying --topo-order 2009-02-10 16:48:45 -07:00
Elijah Newren
0ce82837e2 Portability fixes 2009-02-09 14:02:51 -07:00
Elijah Newren
eab6741272 Rewrite to not use pyparsing in order to avoid memory madness
pyparsing sucks a whole file into memory at a time and then parses, which
is really bad in this case since the output from git-fast-export is huge.
I entered disk swapping madness pretty easily.  So, now I just do my own
manual parsing.
2009-02-08 21:20:18 -07:00
Elijah Newren
acd197044a Small restructurings for the big sierra import
* Allow hooking up (and filtering) multiple git fast-export's to one import
* Allow user callbacks to force dumping of object in order to reference it
  with subsequent inserted objects
* Put the separate callbacks and global vars in the calling program into a
  combined class
2009-02-07 19:45:12 -07:00
Elijah Newren
cdaf993d9f Rename 2009-02-05 17:50:14 -07:00
Elijah Newren
17d77abe07 Add get_total_commits() function, finish transition to a module 2009-02-05 07:25:26 -07:00
Elijah Newren
4f7e24351e Fix handling of ids of blobs and commits
My prior handlings of marks would only work if there were not additions
or removals from the fast-export stream.  Further, I referred to these as
marks even though I really only accept idnum values, not sha1s or anything
else.  So, now I refer to these as ids everywhere, and I am much more
careful in my handling of ids.
2009-02-05 07:12:25 -07:00
Elijah Newren
b5082769ea Actually call everything_callback as necessary, fix commit_callback
The commit_callback call was trying to pass a Reset object, which was
not defined.  Copy-n-paste-n-forget-to-replace isn't good.  Now it passes
a Commit object.
2009-02-05 07:09:19 -07:00
Elijah Newren
c12055b8c9 Rename functions a bit, make filter object creation explicit 2009-02-04 23:09:08 -07:00
Elijah Newren
5cdf2fa053 Pipe output to git-fast-import now to create a new repository 2009-02-04 23:03:48 -07:00
Elijah Newren
dfaa65a931 Match git-fast-export spacing after reset commands 2009-02-04 21:17:53 -07:00
Elijah Newren
cb81f045a9 Add ability to handle deleted files in commits 2009-02-04 17:27:57 -07:00
Elijah Newren
9b93d2da75 Fix parsing bug in Reset object creation 2009-02-04 17:25:38 -07:00
Elijah Newren
50df32585a Fix indexing bug in Commit object creation 2009-02-04 17:23:42 -07:00
Elijah Newren
e34469d80a Don't hardcode sys.stdout, I'll eventually want to pipe elsewhere 2009-02-04 07:31:31 -07:00
Elijah Newren
47f5b1d132 Add a FileChanges object, for changes that are part of a commit 2009-02-04 07:30:40 -07:00
Elijah Newren
c122f1357e Add parsing of commits 2009-02-03 17:48:01 -07:00
Elijah Newren
b39e6694de Slight changes to grammar names to better match fast-import.c from git 2009-02-03 17:47:06 -07:00
Elijah Newren
5f6aba0d3a Prevent pyparsing from expanding tabs to spaces
We are not parsing simple text; we're parsing data and need to be able to
print that data unmunged.
2009-02-03 17:39:27 -07:00
Elijah Newren
93c7c02f77 Add parsing of branch resets 2009-02-03 08:37:48 -07:00
Elijah Newren
f1eb0a78b1 Allow random blob insertion and creation without specifying marks 2009-02-02 18:19:02 -07:00
Elijah Newren
bfbcf8043f Handle multiple blobs, require all input to be parsed, nice errors 2009-02-02 18:19:02 -07:00
Elijah Newren
374691ac22 Add GitElement and Blob classes, and a FastExport Parser class
We still only parse a single blob, but this should put the infrastructure
in place for parsing more output from git-fast-export.
2009-02-02 18:18:57 -07:00
Elijah Newren
6ffa9357b0 Initial import, which can parse git-fast-export blobs in exact-data format 2009-02-02 07:14:13 -07:00