[PD-dev] git workflow idea

Hans-Christoph Steiner hans at at.or.at
Wed Jul 21 05:27:14 CEST 2010


Well, I'm learning.  Now that I got the basics down, I thought I'd  
explore git a bit.  And it seems that I have another correction to the  
command workflow:

- git pull msp master (update to latest code from Miller)
- git checkout -b new_branch (start new branch)
- git commit (commit all changes to the local branch)
- git rebase -i ("rebase" the commits in the branch into clean patches"
- git checkout master (switch to master branch)
- git pull msp master (update to latest code from Miller)
- git checkout new_branch  (switch back to new_branch)
- git rebase master (merge changes just pulled into master into  
new_branch)
- git checkout master (switch back to master)
- git merge new_branch (merge in new_branch into local master)
- git branch -d new_branch (delete branch)
- git push (push changes to your own remote repo)

now make the patch:
- git log -n2 (get the log of the last two commits)
- git format-patch <id of the second to last commit>

.hc

On Jul 20, 2010, at 10:00 PM, Miller Puckette wrote:

> Looks like Hans now speaks git much more fluently than I do :)
>
> One minor comment -- I think this can be adapted to avoid requiring  
> ssh
> access to sourceforge (so that you don't have to be a pd developer to
> get into the action) -- just replace
> ssh://eighthave@pure-data.git.sourceforge.net/...
> with
> git://pure-data.git.sourceforge.net/...
>
> The workflow ideas look good to me.
>
> cheers
> Miller
>
> On Tue, Jul 20, 2010 at 09:42:33PM -0400, Hans-Christoph Steiner  
> wrote:
>>
>> hey all,
>>
>> I've been diving into git and trying to figure out a workflow to
>> represent how we work.  I think its going to be like a smaller  
>> version
>> of the Linux workflow for now at least.  I've set up my git to have
>> its master up on gitorious.  Then I can "git pull msp master" to pull
>> from Miller's repo on SourceForge.  I did this by adding these to
>> puredata.git/.git/config:
>>
>> [remote "origin"]
>> 	url = git at gitorious.org:pdvanilla-hcs/pdvanilla-hcs.git
>> 	fetch = +refs/heads/*:refs/remotes/origin/*
>>
>> [remote "msp"]
>> 	url =
>> 	ssh://eighthave@pure-data.git.sourceforge.net/gitroot/pure-data/pure-data
>> 	fetch = +refs/heads/*:refs/remotes/origin/*
>>
>> [branch "master"]
>>        remote = origin
>>        merge = refs/heads/master
>>
>> The other key thing I was reading is about "git rebase", it sounds
>> like the "feature branch" workflow will work best for use.   
>> Basically,
>> make a local branch for a feature, commit lots, when done, rebase  
>> into
>> clean patches and merge into local master, then submit patch to
>> Miller.  Something like:
>>
>> - git pull msp (update to latest code from Miller)
>> - git checkout -b new_branch (start new branch)
>> - git commit (commit all changes to the local branch)
>> - git rebase -i ("rebase" the commits in the branch into clean  
>> patches"
>> - git checkout master (switch to master branch)
>> - git pull msp (update to latest code from Miller)
>> - git checkout new_branch  (switch back to new_branch)
>> - git rebase master (merge in new_branch into local master)
>>
>> .hc
>>
>>
>> ----------------------------------------------------------------------------
>>
>> There is no way to peace, peace is the way.       -A.J. Muste
>>
>>
>>
>> _______________________________________________
>> Pd-dev mailing list
>> Pd-dev at iem.at
>> http://lists.puredata.info/listinfo/pd-dev



----------------------------------------------------------------------------

Man has survived hitherto because he was too ignorant to know how to  
realize his wishes.  Now that he can realize them, he must either  
change them, or perish.    -William Carlos Williams





More information about the Pd-dev mailing list