Subject: Plans for the vcs-svn-pu branch

From: Jonathan Nieder <[email-masked]>
Date: Fri, 11 Feb 2011 03:09:31 -0600

(culled cc list for a new topic)
Hi,

Jonathan Nieder wrote:

> Here are the topics that are cooking in vcs-svn-pu.

Long time no pushout.  My old plan was to maintain a "vcs-svn" branch
and ask Junio to pull from it periodically.  I still plan to do that
since I think it's the only feasible way to roll out the larger
changes but I might be submitting smaller pieces as patches to the git
list directly.

The purpose of this email is to request help --- if you are
particularly interested in some subtopic then I would love to see a
patch series or pull request on the subject.  If I can forget about
vcs-svn-pu's existence and just review and accept ready-to-apply
patches on the topic as they come, then building a suitable vcs-svn
branch will become very, very simple.

The good news is that it's been a calm time, so most of these topics
are probably in good shape.

> * db/fast-import-blob-access (2011-01-03)
>  - fast-import: add 'ls' command

Needs a feature name.  Last seen at [1].

> * db/optimize-vcs-svn (2011-01-05) 9 commits
>  - vcs-svn: drop obj_pool.h
>  - vcs-svn: drop trp.h
>  - vcs-svn: drop string_pool
[...]

Applying this code removal early would make your local branch juggler
very, very happy.  Might make sense to pair it with some patches to
support cat-blob-fd in transport-helper's "import" support, so the UI
could be

	git fetch svn-dump::/tmp/file.dump

That could (perhaps) partially compensate for the loss of convenience
from requiring the cat-blob-fd to be plumbed correctly.  It's a shame
we weren't louder about svn-fe's command line usage being subject to
change.  Live and learn. :/

>  (this branch uses db/vcs-svn-incremental, db/text-delta, db/prop-delta,
>   jn/svndiff0, jn/sliding-window, jn/line-buffer, jn/line-buffer-error,
>   jn/line-buffer-large-file, and db/fast-import-blob-access.)

That's silly --- this long overdue cleanup does not require anything
except db/fast-import-blob-access.  Building it on top of
db/prop-delta seems okay, since the latter is simple and known to work
well.

> * db/vcs-svn-incremental (2011-01-05) 20 commits
[...]
>  (this branch uses db/text-delta, db/prop-delta, jn/svndiff0,
>   jn/sliding-window, jn/line-buffer, jn/line-buffer-error,
>   jn/line-buffer-large-file, and db/fast-import-blob-access.)
>
> Support for importing different revs in different svn-fe runs.

Killer feature.  After db/optimize-vcs-svn it is easy.  It does not
need to wait for Text-delta and svndiff0 support.

[...]

With those three topics out of the way, the rest of the wishlist
should be easy.  Most of the patches are already written.

 - line-buffer enhancements to support Text-delta (multiple buffers,
   sliding window, temporary files)
 - svndiff0 parser/interpreter
 - Text-delta support
 - Prop-delta support
 - support for large files
 - improved error handling
 - fast-import scalability fixes