[LLVMdev] Official git mirroring of llvm, clang, lldb, test-suite, etc.?

Óscar Fuentes ofv at wanadoo.es
Mon Jan 31 19:27:31 PST 2011


greened at obbligato.org (David A. Greene) writes:

>> (Upstream) svn <--> git-svn <--> git-svn <--> svn (Downstream)
>
> I asked about both to the git guys.  They said it isn't supported.
> Double-ended git-svn just won't work, period.  You can't do it because a
> git branch is still tied to the revision numbering of the first git-svn
> gateway created.  Git branches still must relate to each other, they
> can't run independently or one wouldn't get any merging benefit.

My point is that you can use two git repositories, each one tracking one
svn repo, and move revisions from one to another. I never tried it so
don't know how well it works. You may be right about the difficulty of
merging (you would be rebasing all the time, to be precise, but anyways
you are forced to rebase if you are using git-svn on one end.)

>> The difficult part is not on LLVM's using svn, the problem is on you
>> using svn.
>
> Umm...that's more than a bit off-putting, thanks.

Sorry, thas was not my intention. There was an smiley somewhere around
there.

> If it's a problem to
> use svn (and it IS a problem), then it's a problem on BOTH ends.

I'll say that your svn is creating more trouble than LLVM's svn when you
are ready to send your changes upstream. After all, you are the
developers (working on "feature branches"), while LLVM's svn can be
considered the "master branch". This applies too in case you have a
private branch. As you say, git makes merging an easy task and keeping a
private branch is about merging all the time.

> That is in fact why people are asking about it.  Remember, it ain't
> just me.  I didn't even bring up this current thread.
>
> And to be clear, the root of the problem _is_ LLVM's using svn because
> it doesn't allow the kind of distributed development natural to an open
> source project.

I agree that git has lots of advantages over svn, precisely for the type
of project LLVM is (not only open source, but with a focus on quality
and stability while the typical major feature requires lots of time,
careful programming, tests and reviews.)

> If one is not supposed to use svn (the official blessed
> LLVM SCM) on "our side," pray tell, what _are_ we supposed to use?

Because LLVM chose to use svn at some point on the past (when
distributed tools were not so mature and undestood as they are now) and
because there is no enough perception of the advantages associated with
a change, it is no excuse for you not doing what is most convenient for
your work.

Or do you think that convincing your managers about the change is more
difficult than convincing the LLVM admins? ;-)

[snip]



More information about the llvm-dev mailing list