www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2013/08/31/15:42:18

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=mail.ud03.udmedia.de; h=
message-id:date:from:mime-version:to:subject:content-type
:content-transfer-encoding; s=beta; bh=YFt6Z8tfjAzu4FRCBdvTgl4eE
plFKOkj0wHi7ZFC6To=; b=ZwaKkX7syWMN5vJxDMD8bivb5KMx4BgUIL4c3btYJ
zlj4252ep3xogMuUWxum5TgIO4nZQb8xzRR2e9POpbO/DAT4jGbCWs8tNf2ZfXLP
iwPAphKnng1jQcO6YLacjMcUltP7t6zL16jMf3nYgGLP7SscJXIIPArOqA0+JLVL
Qo=
Message-ID: <52224709.9030800@jump-ing.de>
Date: Sat, 31 Aug 2013 21:42:01 +0200
From: Markus Hitter <mah AT jump-ing DOT de>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130803 Thunderbird/17.0.8
MIME-Version: 1.0
To: geda-user AT delorie DOT com
Subject: [geda-user] Workflow in pcbs' central Git repository (was: merging vs. rebasing)
X-Enigmail-Version: 1.4.6
Reply-To: geda-user AT delorie DOT com

To clear up this conversation a bit, let's have a look what another
popular project, Wine, does
(http://wiki.winehq.org/GitWine#head-dae615e1441dcf16515ca6a96ef19a69fa208061):

> Git allows you to merge branches together; this is not done in the 
> WineHQ repository, so it is easier to just rebase/cherry-pick 
> instead.

Also it turns out Peter Brett actually uses a lot of rebasing for
himselfs, too, and even recommends to use "stgit", a tool easing
such a workflow. Cite from the geda-developers list, talking to me:

> Am 30.08.2013 20:03, schrieb Peter TB Brett:
>> Both pcjc2 and I use stgit for our personal work.  I recommend it 
>> to you, because it sounds like you might find it suits you (...).

Accordingly, the only topic remaining is, wether this workflow
can/should be moved into the central repository. For better
collaboration, more developer convenience and most importantly, more
public visibility of the projects' work.

Here's a proposal for a simple set of rules which builds upon pcbs'
workflow (rebasing happens for years already!) of the last 3 years and
should make everybody happy:

1. Don't change the history of master, a release branch or anything tagged.

2. In all other branches, do what you think is right. Local branches as
well as ones in the central repo.

3. If you didn't create the branch yourself, create your own or talk to
the person (bug discussion page!) who did.

4. Feel free to add as many branches as you need, ideally one per
development target (e.g. fixing a bug).

5. Pushing local branches to the central repository, even if they're
work in progress, is welcome. This way others can see what you do and
double-work can be avoided.

6. If you think you're done, rebase the branch onto master and ask for
testers.

7. If testing was successful (currently this means: nobody complained
for a while), rebase onto master again and cherry-pick all the commits
over to master _or_ merge the branch into master (same result for
different tastes).

8. You can do 6. and 7. partially, i.e. pick only unambiguous commits
over to master, then iterate.

9. Delete the branch if the branchs' target is reached and there's
nothing left to keep.


Markus

-- 
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. (FH) Markus Hitter
http://www.jump-ing.de/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019