Boost logo

Boost :

Subject: Re: [boost] [git] neglected aspects
From: Christof Donat (cd_at_[hidden])
Date: 2012-02-12 03:23:12


Hi,

> >> The level of wrongness in this email (at least the quoted part above)
> >> is such that it is hard for me to keep calm. I am, admittedly, biased
> >> toward SVN. I can accept that DCVS systems like git may improve the
> >> workflow on projects like boost, but you're twisting facts. I am
> >> currently wondering whether you did that on purpose or not.
> >>
> >> Sorry if this was too strong, I am not perfect myself and make
> >> mistakes too. I would like to keep the discussion in a cordial tone
> >> if possible.
> >
> > Let's discuss a concrete case. Someone without write access to the SVN
> > repo wants to contribute somde code.
> > 1. Checkout
> > 2. Edit code
> > 3. Can't commit, so can't do any kind of local checkpoints
> > 4. Can't push, so has to generate a patch
> > 5. Upload patch to Trac (slow, requires browser, no tool support)
>
> But Trac is globally available across all platforms without having to
> install anything. As is a wide variety of patch application tools.

You will need to install an svn client when you want to use svn. Trac is not a
VCS and the upload of patches as attachment to Trac tickets for me is a
missuse of tickets. Anyway, of course you can also create patch files with
git, upload them to trac and apply them somewhere else. The various commits
will be available in the resulting branch as well, so the result is identical
to using git pull.

> I.e. how is it different from uploading to
> a central server like Trac?

1. git push/pull is usually a lot faster.
2. you can still upload patches to Trac, if you really like it so much.
3. instead you can also create tickets with pull requests from servicxes like
e.g. github or your own webserver.
4. someone, who is not the maintainer might like your patch better than him.
He can apply it to his repository without disturbing anybody else. He can
rebase it on any other changesets the maintainer puts into his repository.
5. after you submitted your patch you can go on working on the same repository
without having to waint until your patch is applied to a branch in the main
repository and you can svn update.
6. The maintainer can experiment with your patch. E.g. he might like it
mostly, but fix a small part, before he pushes it into the main repository.
Then the fix is in the version history with his name, while your changes are
in the history with your name.

It simply opens a huge ammount of more options.

Christof

-- 
okunah gmbh                                  Software nach Maß
Werner-Haas-Str. 8                               www.okunah.de
86153 Augsburg                                    cd_at_[hidden]
                                      Registergericht Augsburg
Geschäftsführer                             Augsburg HRB 21896
Christof Donat                           UStID: DE 248 815 055

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk