threads / discuss / 26031

developing a modified Linux-style workflow

Subject: developing a modified Linux-style workflow

## tl;dr

4 messages between Dec 12, 2010 and Dec 13, 2010.

replies: 3people: 3as markdown or json

Hans-Christoph Steiner· Dec 12, 2010, 22:24 UTC · lore
Hey all,
(and my second post on this list...)

I've gotten pretty good at git, and its helping me already with managing the very odd workflows I have with the software I work a lot on called Pd (http://puredata.info). My role in Pd development is like a Linux lieutenant.

I also the main dev for an app called Pd-extended, which is based on Pd. Now I'm stuck trying to figure out how to use git to match my current workflow for Pd-extended, which is a kind of long-lived branch, almost like a friendly fork. So its kind of close to the Linux workflow with me as a lieutenant, but not quite.

What makes it tricky is that I make releases directly from my repo that are widely used. So my repo is both lieutenant and dictator at the same time. So that's where I am stumped. I want to be able to rebase and push to a public repo, but that would be stupid. So there has got to be another way.

.hc
----------------------------------------------------------------------------

I have the audacity to believe that peoples everywhere can have three meals a day for their bodies, education and culture for their minds, and dignity, equality and freedom for their spirits. - Martin Luther King, Jr.

David Aguilar· Dec 13, 2010, 03:31 UTC · re: Hans-Christoph Steiner · lore

Re: developing a modified Linux-style workflow

On Sun, Dec 12, 2010 at 05:24:16PM -0500, Hans-Christoph Steiner wrote:
Show 21 quoted lines
> 
> Hey all,
> 
> (and my second post on this list...)
> 
> I've gotten pretty good at git, and its helping me already with
> managing the very odd workflows I have with the software I work a
> lot on called Pd (http://puredata.info).  My role in Pd development
> is like a Linux lieutenant.
> 
> I also the main dev for an app called Pd-extended, which is based on
> Pd.  Now I'm stuck trying to figure out how to use git to match my
> current workflow for Pd-extended, which is a kind of long-lived
> branch, almost like a friendly fork.  So its kind of close to the
> Linux workflow with me as a lieutenant, but not quite.
> 
> What makes it tricky is that I make releases directly from my repo
> that are widely used.  So my repo is both lieutenant and dictator at
> the same time.  So that's where I am stumped.  I want to be able to
> rebase and push to a public repo, but that would be stupid.  So
> there has got to be another way.

Have you considered periodically merging Pd into Pd-extended as an alternative to rebasing? It might even be easier to manage in the long-term.

-- 
		David
Hans-Christoph Steiner· Dec 13, 2010, 03:23 UTC · re: David Aguilar · lore

Re: developing a modified Linux-style workflow

On Dec 12, 2010, at 10:31 PM, David Aguilar wrote:
Show 27 quoted lines
> On Sun, Dec 12, 2010 at 05:24:16PM -0500, Hans-Christoph Steiner  
> wrote:
>>
>> Hey all,
>>
>> (and my second post on this list...)
>>
>> I've gotten pretty good at git, and its helping me already with
>> managing the very odd workflows I have with the software I work a
>> lot on called Pd (http://puredata.info).  My role in Pd development
>> is like a Linux lieutenant.
>>
>> I also the main dev for an app called Pd-extended, which is based on
>> Pd.  Now I'm stuck trying to figure out how to use git to match my
>> current workflow for Pd-extended, which is a kind of long-lived
>> branch, almost like a friendly fork.  So its kind of close to the
>> Linux workflow with me as a lieutenant, but not quite.
>>
>> What makes it tricky is that I make releases directly from my repo
>> that are widely used.  So my repo is both lieutenant and dictator at
>> the same time.  So that's where I am stumped.  I want to be able to
>> rebase and push to a public repo, but that would be stupid.  So
>> there has got to be another way.
>
> Have you considered periodically merging Pd into Pd-extended
> as an alternative to rebasing?  It might even be easier to
> manage in the long-term.

The thing I really like about the lieutenant workflow is that I can keep my patches at the top of history, and it automatically handles it once my patch is handled upstream. It seems that merging Pd into Pd- extended would leave me with a very complicated history.

.hc
----------------------------------------------------------------------------

'You people have such restrictive dress for women,’ she said, hobbling away in three inch heels and panty hose to finish out another pink- collar temp pool day. - “Hijab Scene #2", by Mohja Kahf

Neal Kreitzinger· Dec 13, 2010, 16:15 UTC · re: Hans-Christoph Steiner · lore

Re: developing a modified Linux-style workflow

"Hans-Christoph Steiner" <hans@at.or.at> wrote in message news:7EAE16CF-A9A8-47A6-9294-3646CCDB0E9C@at.or.at...

Show 24 quoted lines
>
> Hey all,
>
> (and my second post on this list...)
>
> I've gotten pretty good at git, and its helping me already with  managing 
> the very odd workflows I have with the software I work a lot  on called Pd 
> (http://puredata.info).  My role in Pd development is  like a Linux 
> lieutenant.
>
> I also the main dev for an app called Pd-extended, which is based on  Pd. 
> Now I'm stuck trying to figure out how to use git to match my  current 
> workflow for Pd-extended, which is a kind of long-lived  branch, almost 
> like a friendly fork.  So its kind of close to the  Linux workflow with me 
> as a lieutenant, but not quite.
>
> What makes it tricky is that I make releases directly from my repo  that 
> are widely used.  So my repo is both lieutenant and dictator at  the same 
> time.  So that's where I am stumped.  I want to be able to  rebase and 
> push to a public repo, but that would be stupid.  So there  has got to be 
> another way.
>
> .hc
>

I don't think pushing to a public repo is stupid. You could create a bare repo with a Pd branch and Pd-extended branch that contain the production versions of Pd and Pd-extended. The main reason our shop chose git is because it allows us to easily have multiple concurrent versions of production by having a branch for each of our custom versions. These versions eventually get merged together into a major release, but in the meantime they are longlived branches representing the productional customized system for each major customer.

*If* you end up merging Pd and Pd-extended at some point, then you could have another branch for that, e.g. master or Pd-master or whatever. BTW, you do not have to use master as the representative of your final merged work so don't think that is the way you HAVE to do it. It's just the default, and a common practice for systems with a single version of production. Master can become vestigial or secondary, if you choose to create a new branch called Pd-master, etc. to represent your eventual merges of Pd and Pd-extended.

v/r, Neal

← back to recent threads