Commit Graph

26 Commits (591d8d4ce58da28c7b39c84a4ae1b03a8d5383bf)
 

Author SHA1 Message Date
Elijah Newren 591d8d4ce5 Add counting of objects, as well as commits 16 years ago
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.
16 years ago
Elijah Newren 32d680bd9b Work around git-fast-export bug by explicitly specifying --topo-order 16 years ago
Elijah Newren 0ce82837e2 Portability fixes 16 years ago
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.
16 years ago
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
16 years ago
Elijah Newren cdaf993d9f Rename 16 years ago
Elijah Newren 17d77abe07 Add get_total_commits() function, finish transition to a module 16 years ago
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.
16 years ago
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.
16 years ago
Elijah Newren c12055b8c9 Rename functions a bit, make filter object creation explicit 16 years ago
Elijah Newren 5cdf2fa053 Pipe output to git-fast-import now to create a new repository 16 years ago
Elijah Newren dfaa65a931 Match git-fast-export spacing after reset commands 16 years ago
Elijah Newren cb81f045a9 Add ability to handle deleted files in commits 16 years ago
Elijah Newren 9b93d2da75 Fix parsing bug in Reset object creation 16 years ago
Elijah Newren 50df32585a Fix indexing bug in Commit object creation 16 years ago
Elijah Newren e34469d80a Don't hardcode sys.stdout, I'll eventually want to pipe elsewhere 16 years ago
Elijah Newren 47f5b1d132 Add a FileChanges object, for changes that are part of a commit 16 years ago
Elijah Newren c122f1357e Add parsing of commits 16 years ago
Elijah Newren b39e6694de Slight changes to grammar names to better match fast-import.c from git 16 years ago
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.
16 years ago
Elijah Newren 93c7c02f77 Add parsing of branch resets 16 years ago
Elijah Newren f1eb0a78b1 Allow random blob insertion and creation without specifying marks 16 years ago
Elijah Newren bfbcf8043f Handle multiple blobs, require all input to be parsed, nice errors 16 years ago
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.
16 years ago
Elijah Newren 6ffa9357b0 Initial import, which can parse git-fast-export blobs in exact-data format 16 years ago