[LLVMdev] svn mirror git?

Sean Silva silvas at purdue.edu
Fri Nov 16 15:51:43 PST 2012


>> I agree that if you aren't developing with git for the local branch,
>> then it would be insanely painful
>
> That is exactly the situation I am in.  I have tried to change this many
> times but it is out of my control, unfortunately.  Yet I keep trying.
> :)

I'm glad you're persevering! You will eventually succeed :)

> I'm not saying that LLVM should switch to git because of my situation.
> I'm simply highlighting the way things are now and expressing that the
> LLVM community is missing out on a bunch of improvements we've made
> because it is so darn painful to merge.

I think you might be jumping the gun on the conclusion here. Rather
than pinpointing painful merging as the direct cause, I would more
generally say that the problem is that you haven't found a way to
effectively coordinate your internal development so that it results of
your development can be contributed upstream in a timely manner. You
might need to get creative.

>> but the fact that git-svn allows for git on the local side gives all
>> of the benefits in this particular case without having to move the
>> main repo away from SVN.
>
> That's not entirely true.  When working with git-svn, one has to be
> *very* careful about managing local branches.  Because git-svn requires
> frequent rebases, sharing local branches with other developers becomes
> tricky.  Not impossible, but you have to be very careful not to screw
> things up.  It doesn't _feel_ like git, totally.  It mostly does, until
> you hit the corner cases.

This is something I hadn't considered (the branch sharing), but it's a
really good point. Since I'm not currently developing my changes in
collaboration with other developers, I haven't experienced this.
However, I can think of a good way to circumvent the problem; it comes
from the following observation: git-svn is simply your gateway to
physically creating the revisions in the central SVN repo and fetching
new revisions, but otherwise need not condition your development. I
think that the issue that you are running into is that you have
misplaced the "gateway" to be too close to your everyday team
development.

If you want, feel free to PM me and we can discuss the particular
forces at play in your situation and try to come up with a workflow
that works :)

-- Sean Silva

On Fri, Nov 16, 2012 at 12:19 PM,  <dag at cray.com> wrote:
> Sean Silva <silvas at purdue.edu> writes:
>
>> The thing about this is that git-svn (un?)fortunately works so well
>> that you can get all of these benefits with the main repo still in
>> SVN. Hence, it is really a moot point regarding a switch to git for
>> the main repo. E.g.:
>
> I agree that git-svn is a big help but it is not the same as native git.
> For one thing, it can't integrate with a private svn repository.
>
>> I agree that if you aren't developing with git for the local branch,
>> then it would be insanely painful
>
> That is exactly the situation I am in.  I have tried to change this many
> times but it is out of my control, unfortunately.  Yet I keep trying.
> :)
>
> I'm not saying that LLVM should switch to git because of my situation.
> I'm simply highlighting the way things are now and expressing that the
> LLVM community is missing out on a bunch of improvements we've made
> because it is so darn painful to merge.
>
>> but the fact that git-svn allows for git on the local side gives all
>> of the benefits in this particular case without having to move the
>> main repo away from SVN.
>
> That's not entirely true.  When working with git-svn, one has to be
> *very* careful about managing local branches.  Because git-svn requires
> frequent rebases, sharing local branches with other developers becomes
> tricky.  Not impossible, but you have to be very careful not to screw
> things up.  It doesn't _feel_ like git, totally.  It mostly does, until
> you hit the corner cases.
>
>                             -David



More information about the llvm-dev mailing list