Hi, Using David's "ls" command we can eliminate the in-memory repo_tree and rely on the target repository for information about old revs. This means all state that needs to persist between svn-fe runs is either in the target repo or in the marks file, so in theory this should allow incremental imports already (I haven't tried it). Caveats: Not split up as nicely as it ought to be. In particular, the last patch should be split up at least into one patch to modify git fast-import, another for the vcs-svn lib. Perhaps it could be split finer than that. There is a potential deadlock, marked with NEEDSWORK. Error checking is not so great. Error states tend to result in deadlock rather than a nicer error. In particular, we have no way to distinguish between a missing (nonsense) path and an empty directory. There's a little blind alley in the first few patches --- cat_mark and the function to apply deltas to an old rev do not survive to the end of the series. I kept that because (1) I am lazy and (2) it serves as a quick intro to use of the "ls" command. Probably there are all sorts of bugs and unclear code. I haven't tested beyond running the test suite. You can find the series alone at git://repo.or.cz/git/jrn.git refs/topics/db/vcs-svn-incremental and merged with other topics at git://repo.or.cz/git/jrn.git vcs-svn-pu Requires the db/text-delta and db/fast-import-blob-access topics, available from the same place. Any thoughts would be welcome. Jonathan Nieder (10): vcs-svn: use higher mark numbers for blobs vcs-svn: save marks for imported commits vcs-svn: introduce cat_mark function to retrieve a marked blob vcs-svn: make apply_delta caller retrieve preimage vcs-svn: split off function to export result from delta application vcs-svn: do not rely on marks for old blobs vcs-svn: split off function to make 'ls' requests vcs-svn: prepare to eliminate repo_tree structure vcs-svn: simplifications for repo_modify_path et al vcs-svn: eliminate repo_tree structure cache.h | 2 + fast-import.c | 42 +++++-- t/t9010-svn-fe.sh | 55 +++++---- vcs-svn/fast_export.c | 168 +++++++++++++++++++------ vcs-svn/fast_export.h | 22 +++- vcs-svn/repo_tree.c | 333 ++++--------------------------------------------- vcs-svn/repo_tree.h | 6 +- vcs-svn/string_pool.c | 2 +- vcs-svn/string_pool.h | 2 +- vcs-svn/svndump.c | 89 +++++++++---- 10 files changed, 301 insertions(+), 420 deletions(-) -- 1.7.2.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html