git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC/PATCH 00/10] vcs-svn: prepare for (implement?) incremental import
@ 2010-12-10 10:20 Jonathan Nieder
  2010-12-10 10:21 ` [PATCH 01/10] vcs-svn: use higher mark numbers for blobs Jonathan Nieder
                   ` (13 more replies)
  0 siblings, 14 replies; 37+ messages in thread
From: Jonathan Nieder @ 2010-12-10 10:20 UTC (permalink / raw)
  To: git
  Cc: David Barr, Ramkumar Ramachandra, Sverre Rabbelier, Sam Vilain,
	Stephen Bash, Tomas Carnecky

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

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2011-03-09  6:55 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-10 10:20 [RFC/PATCH 00/10] vcs-svn: prepare for (implement?) incremental import Jonathan Nieder
2010-12-10 10:21 ` [PATCH 01/10] vcs-svn: use higher mark numbers for blobs Jonathan Nieder
2010-12-10 10:22 ` [PATCH 02/10] vcs-svn: save marks for imported commits Jonathan Nieder
2011-03-06 11:15   ` Jonathan Nieder
2010-12-10 10:23 ` [PATCH 03/10] vcs-svn: introduce cat_mark function to retrieve a marked blob Jonathan Nieder
2010-12-10 10:23 ` [PATCH 04/10] vcs-svn: make apply_delta caller retrieve preimage Jonathan Nieder
2010-12-10 10:25 ` [PATCH 05/10] vcs-svn: split off function to export result from delta application Jonathan Nieder
2010-12-10 10:26 ` [PATCH 06/10] vcs-svn: do not rely on marks for old blobs Jonathan Nieder
2010-12-10 10:27 ` [PATCH 07/10] vcs-svn: split off function to make 'ls' requests Jonathan Nieder
2010-12-10 10:28 ` [PATCH 08/10] vcs-svn: prepare to eliminate repo_tree structure Jonathan Nieder
2011-03-06 12:52   ` [PATCH v2] " Jonathan Nieder
2011-03-06 20:41     ` David Barr
2010-12-10 10:30 ` [PATCH 09/10] vcs-svn: simplifications for repo_modify_path et al Jonathan Nieder
2010-12-10 10:33 ` [PATCH 10/10] vcs-svn: eliminate repo_tree structure Jonathan Nieder
     [not found] ` <C59168D0-B409-4A83-B96C-8CCD42D0B62F@cordelta.com>
     [not found]   ` <20101211184654.GA17464@burratino>
2010-12-11 22:47     ` [RFC/PATCH] fast-import: treat filemodify with empty tree as delete Jonathan Nieder
2010-12-11 23:00     ` [PATCH db/vcs-svn-incremental] vcs-svn: avoid git-isms in fast-import stream Jonathan Nieder
2010-12-11 23:04 ` [PATCH 12/10] vcs-svn: quote paths correctly for ls command David Michael Barr
2010-12-11 23:11   ` [PATCH db/vcs-svn-incremental] vcs-svn: quote all paths passed to fast-import Jonathan Nieder
2010-12-12  9:32 ` [PATCH 13/10] vcs-svn: use mark from previous import for parent commit David Michael Barr
2010-12-12 17:06   ` Jonathan Nieder
2011-03-06 22:54 ` [PATCH v2 00/12] vcs-svn: incremental import Jonathan Nieder
2011-03-06 23:03   ` [PATCH 01/12] vcs-svn: use higher mark numbers for blobs Jonathan Nieder
2011-03-08 19:08     ` Junio C Hamano
2011-03-09  6:55       ` Jonathan Nieder
2011-03-06 23:04   ` [PATCH 02/12] vcs-svn: save marks for imported commits Jonathan Nieder
2011-03-06 23:07   ` [PATCH 03/12] vcs-svn: introduce repo_read_path to check the content at a path Jonathan Nieder
2011-03-06 23:08   ` [PATCH 04/12] vcs-svn: handle_node: use repo_read_path Jonathan Nieder
2011-03-06 23:09   ` [PATCH 05/12] vcs-svn: simplify repo_modify_path and repo_copy Jonathan Nieder
2011-03-06 23:09   ` [PATCH 06/12] vcs-svn: add a comment before each commit Jonathan Nieder
2011-03-06 23:10   ` [PATCH 07/12] vcs-svn: allow input errors to be detected promptly Jonathan Nieder
2011-03-06 23:11   ` [PATCH 08/12] vcs-svn: set up channel to read fast-import cat-blob response Jonathan Nieder
2011-03-06 23:12   ` [PATCH 09/12] vcs-svn: eliminate repo_tree structure Jonathan Nieder
2011-03-06 23:12   ` [PATCH 10/12] vcs-svn: quote paths correctly for ls command Jonathan Nieder
2011-03-06 23:13   ` [PATCH 11/12] vcs-svn: handle filenames with dq correctly Jonathan Nieder
2011-03-06 23:16   ` [PATCH 12/12] vcs-svn: use mark from previous import for parent commit Jonathan Nieder
2011-03-07 12:24   ` [PATCH v2 00/12] vcs-svn: incremental import Sverre Rabbelier
2011-03-07 21:23     ` Jonathan Nieder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).