[En-Nut-Discussion] Switching to GIT

Nicolas Heine nicolas.heine at au.abb.com
Fri Sep 27 01:05:20 CEST 2013

this is an old but good and successfull workflow for git: 


From:   Harald Kipp <harald.kipp at egnite.de>
To:     "Ethernut User Chat (English)" <en-nut-discussion at egnite.de>, 
Date:   26/09/2013 08:25 PM
Subject:        Re: [En-Nut-Discussion] Switching to GIT
Sent by:        en-nut-discussion-bounces at egnite.de


On 26.09.2013 11:03, bon at elektron.ikp.physik.tu-darmstadt.de wrote:
>>>>>> "Harald" == Harald Kipp <harald.kipp at egnite.de> writes:
>     Harald> Why keep SVN as the "Git master"?
> Because switching to either git or hg implies policy and maybe will 
> (parts of ) one group unhappy.

The current status is, that all active developers are happy with moving
from SVN to a distributed VCS. Some would prefer Mercurial in the first
place, but would prefer Git over SVN anyway. Correct me if I'm wrong.

>     Harald> Today I create a new SVN maintenance branch before
>     Harald> releasing a new final version and tag the trunk at that
>     Harald> point. Can I do the same on my local Git repo and will that 
>     Harald> automatically transfered via "git svn commit"?
> The principal command is "git svn dcommit"
> Well, there is "git svn branch <branchname> " and  "git svn dcommit
> <branchname>" that imply it can be done. I didn't test however yet.

Until now I'm almost the only one who merges bug fixes from the trunk
into maintenance branches. Considering my limited time, I'm a bit
concerned about any additional complexity.

>     Harald> Git allows a developer to pull from an untrusted source, 
>     Harald> the changes, and, if it looks fine, send a pull request to 
>     Harald> master. How to do that with SVN? Will the change be directly
>     Harald> committed by the developer, who received the untrusted 
> Als not tested. But I guess you pull in the changeset locally and than 
> push to SVN with "git svn dcommit"

Not really sure, if this answers my badly verbalized question. I was
more referring to the role of the developer and the maintainer.

Usual work flow with Git, AFAIK: If you receive a patch, which you don't
trust, you can invite others to check it. They will pull this change set
from your public repository. If everything looks fine, you send a pull
request to the maintainer of the master, telling him, that this is a
verified patch. The maintainer will pull it into his local repo, have a
final look and then commit it to the public master repo.

Now, how does this work, if the SVN repo is our virtual "Git master"? Do
all developers still have write access to the master? Is this virtual
master the only way to distribute change sets among developers? If yes,
isn't that annulling characteristic features that made Git so
successful? Or are there better ways to handle it, which I'm too stupid
to see?




More information about the En-Nut-Discussion mailing list