git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ramkumar Ramachandra <artagnon@gmail.com>
To: Avery Pennarun <apenwarr@gmail.com>
Cc: Johannes.Schindelin@gmx.de,
	Sverre Rabbelier <srabbelier@gmail.com>,
	Git Mailing List <git@vger.kernel.org>,
	Jonathan Nieder <jrnieder@gmail.com>
Subject: Re: native-git-svn: A Summer of Code 2010 proposal
Date: Sat, 20 Mar 2010 14:49:43 +0530	[thread overview]
Message-ID: <f3271551003200219s5da3d620n602227eed948da70@mail.gmail.com> (raw)
In-Reply-To: <32541b131003191430ld0eaa9cw1d2aac08cff15682@mail.gmail.com>

Hi,

> So if your goal is to write a possibly better replacement to git-svn,
> that's a potentially great goal with an unfortunately high probability
> of failure (but great upside if you don't fail).  If you won't
> consider it successful unless it gets merged upstream... then you're
> setting yourself up for disappointment, at least if you expect to be
> done withing the GSoC timeframe.

As Sverre pointed out, this is not the goal of the project. The
proposal is not to rewrite git-svn. You're probably right to assume
that any such endeavor would be unsuccessful in one summer. The
proposal is to create an application that will natively support SVN
repositories in Git. I'm simply pointing out the limitations of
git-svn as a motivation for this project.

As I've mentioned in my proposal, good SVN exporters already exist,
and creating an SVN client can be fairly elementary. The whole point
of the project is to move away from the "git-svn.perl approach".
Ofcourse, that doesn't mean that I won't use some parts of git-svn in
native-git-svn. Along with creating the infrastructure for this
approach, I do expect to have *working* native SVN support at the end
of summer merged into mainline.

I'll make this clearer in the next revision of my proposal.

> You could always do your whole project in python or perl and make it
> *work* the way you want.  If it's really good, you can maybe get that
> accepted into the git core.  Then, if it's really modular enough, you
> ought to be able to rewrite the modules one by one into C as needed.

Writing everything in C can be quite painful. I plan to start off by
prototyping the various components in Python anyway. If and when it's
necessary, components can be re-implemented in C.

> In the current version of git-svn this is very hard. 'git svn dcommit'
> generates entirely new git commit objects corresponding to the ones
> that were created in svn... but which nevertheless have your merge
> history included, which is awesome.  But if a new person clones the
> svn repo from scratch, he will end up with git commits corresponding
> to those same ones from svn, but *without* the merge history, and
> therefore with different commit ids, and which therefore prevent
> push/pulling between other people who have cloned the repo.

Oh, that's terribly ugly. Thanks for pointing it out. I haven't
thought of a solution yet, but yes- it would be really nice if the new
design could handle this elegantly.

Do feel free to tell me what you'd like to see in the next revision of
my proposal, and what you'd like to see omitted. A proposal can't run
into many pages, so I'll attach anything that's very detailed as
notes.

Thanks,
Ramkumar

  reply	other threads:[~2010-03-20  9:20 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-19 17:18 native-git-svn: A Summer of Code 2010 proposal Ramkumar Ramachandra
2010-03-19 18:32 ` Avery Pennarun
2010-03-19 18:39   ` Sverre Rabbelier
2010-03-19 21:30     ` Avery Pennarun
2010-03-20  9:19       ` Ramkumar Ramachandra [this message]
2010-03-20 10:48       ` Johannes Schindelin
2010-03-20 20:34         ` Ramkumar Ramachandra
2010-03-20 20:55           ` Ramkumar Ramachandra
2010-03-20 21:04           ` Jonathan Nieder
2010-03-21 10:26             ` Johannes Schindelin
2010-03-21 11:08               ` Jonathan Nieder
2010-03-21 11:47                 ` Johannes Schindelin
2010-03-21 12:25                   ` Ramkumar Ramachandra
2010-03-21 12:31                     ` Johannes Schindelin
2010-03-21 12:36                     ` Sverre Rabbelier
2010-03-21 17:58                     ` Jonathan Nieder
2010-03-22  0:33                     ` Daniel Barkalow
2010-03-22  2:41                       ` Christian Couder
2010-03-22  3:49                         ` Ramkumar Ramachandra
2010-03-22 11:33                           ` Johannes Schindelin
     [not found]                             ` <f3271551003220643j3a726d09o2d3a078292fd8bf6@mail.gmail.com>
2010-03-22 19:52                               ` Johannes Schindelin
2010-03-23  7:49                                 ` Ramkumar Ramachandra
2010-03-21 16:43                   ` Best example of GSoC student participation (was: Re: native-git-svn: A Summer of Code 2010 proposal) Jakub Narebski
2010-03-21 17:27                     ` Best example of GSoC student participation Johannes Schindelin
2010-03-20 21:58           ` native-git-svn: A Summer of Code 2010 proposal Daniel Barkalow
2010-03-20 22:19             ` Ramkumar Ramachandra
2010-03-21  5:36             ` Ramkumar Ramachandra
2010-03-21 22:56               ` Daniel Barkalow
2010-03-21 17:08             ` Ilari Liusvaara
2010-03-21  7:40           ` Peter Baumann
2010-03-21 23:51       ` Dave Olszewski
2010-03-19 20:53   ` Jonathan Nieder
2010-03-19 21:00     ` Johannes Schindelin
  -- strict thread matches above, loose matches on Subject: below --
2010-03-27  5:40 Steven Michalske
2010-03-27  6:46 ` Ramkumar Ramachandra
2010-03-27  8:03   ` Steven Michalske
2010-03-27  9:19 ` Eric Raymond
     [not found]   ` <f3271551003280225v17af30d4s6d3d24b4d548ff7d@mail.gmail.com>
2010-03-28 12:10     ` Eric Raymond
2010-03-29 20:04       ` Ramkumar Ramachandra

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=f3271551003200219s5da3d620n602227eed948da70@mail.gmail.com \
    --to=artagnon@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=apenwarr@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --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 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).