From: Jonathan Nieder <jrnieder@gmail.com>
To: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>,
David Michael Barr <david.barr@cordelta.com>,
Sverre Rabbelier <srabbelier@gmail.com>,
"Shawn O. Pearce" <spearce@spearce.org>,
Daniel Shahaf <d.s@daniel.shahaf.name>,
Eric Wong <normalperson@yhbt.net>
Subject: Re: [GSoC update extra!] git-remote-svn: Week 8
Date: Thu, 24 Jun 2010 13:07:52 -0500 [thread overview]
Message-ID: <20100624180752.GA1642@burratino> (raw)
In-Reply-To: <20100624173956.GA1600@burratino>
Jonathan Nieder wrote:
> Git has all the blobs and all the trees, so except for the mapping
> between marks, subversion revs, and git revs, svn-fe does not need to
> persist much data at all.
>
> Of course, that requires that the fast-import stream is going directly
> to git.
One more thought.
If we are tracking the history of separate subversion branches separately,
then reading back trees includes an oddity:
Suppose someone tries to reimplement git-svn on top of svn-fe[1].
$ git svn --fe clone --stdlayout http://path/to/some/svn/root
Behind the scenes, git-svn processes the fast-import stream it is
receiving and writes its _own_ fast-import stream with paths munged
and commits split up into separate commits on each branch. Good.
Now the oddity: suppose that in the repository, svn-fe finds an
svn copy branches@r11 branches-old
operation. In other words, it needs the tree for
http://path/to/some/svn/root/branches@r11. This does not correspond
to a single git tree, since the content of each branch has been given
its own commit.
However, this does not seem to be fatal: one could just make
‘git svn --fe’ build a branch with the full history at the same time
as it builds the other branches. Ugly, but I don’t see another way
around it without making svn-fe and ‘git svn --fe’ know more about
each other than I would like.
Jonathan
[1] Eric, we are discussing the remote-svn series[2] and especially
Ram, Sverre, and David’s recent comments[3]. Apologies for not
keeping you in the loop sooner; your insights have always been
helpful in the past.
As for the idea of reimplementing git-svn on top of svn-fe: yes, the
fast-import stream would need more information to support
--follow-parent, but that piece is not so hard to add AFAICT. Of
course, I am mentioning this not because it is important to keep the
git-svn interface but because the --stdlayout feature is very useful
and we may want to port it over some day.
[2] http://thread.gmane.org/gmane.comp.version-control.git/149571
[3] http://thread.gmane.org/gmane.comp.version-control.git/149594
next prev parent reply other threads:[~2010-06-24 18:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-24 13:33 [GSoC update extra!] git-remote-svn: Week 8 Ramkumar Ramachandra
2010-06-24 17:39 ` Jonathan Nieder
2010-06-24 18:07 ` Jonathan Nieder [this message]
2010-06-24 21:32 ` Eric Wong
2010-06-30 1:51 ` Sam Vilain
2010-06-30 12:45 ` Ramkumar Ramachandra
2010-07-01 3:38 ` Sam Vilain
2010-06-30 2:20 ` Sam Vilain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100624180752.GA1642@burratino \
--to=jrnieder@gmail.com \
--cc=artagnon@gmail.com \
--cc=d.s@daniel.shahaf.name \
--cc=david.barr@cordelta.com \
--cc=git@vger.kernel.org \
--cc=normalperson@yhbt.net \
--cc=spearce@spearce.org \
--cc=srabbelier@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.