[Cs-dev] New Git-Flow based workflow for Csound6
Date | 2013-08-05 22:18 |
From | Steven Yi |
Subject | [Cs-dev] New Git-Flow based workflow for Csound6 |
Hi All, I'm writing the following to describe the new git-flow[1] based work workflow for Csound6. First thing to note: DO NOT PUSH COMMITS TO THE MASTER BRANCH! Okay, that said, the following should get you up and started. 1. First, make a clone of Csound6's repo, following the instructions on Sourceforge. 2. At this point, issuing the command "git branch" should only list the master branch: Steven-Yis-MacBook-Pro:cs6clean stevenyi$ git branch * master 3. Using the command "git branch -r" will show all branches, including remote ones and ones that are checked out locally: Steven-Yis-MacBook-Pro:cs6clean stevenyi$ git branch -r origin/HEAD -> origin/master origin/ParCS origin/config-h origin/develop origin/master origin/preprocess origin/static_plugins origin/typesystem origin/variable_names 4. To change to the develop branch, use the command "git branch -b develop origin/develop". You should get something like: Steven-Yis-MacBook-Pro:cs6clean stevenyi$ git checkout -b develop origin/develop Branch develop set up to track remote branch develop from origin. Switched to a new branch 'develop' 5. Double check your local branches with "git branch". You should see: Steven-Yis-MacBook-Pro:cs6clean stevenyi$ git branch * develop master 6. At this point, it shows that the master and develop branches are checked out locally and that you are currently on the develop branch. At this point, you should commit and do any development work on the develop branch, pretty much as you had before. When it comes to adding new feature branches or doing new releases, the git-flow paradigm calls for creating branches like "features/xxx" and "releases/yyy". This can be automatically done for you using the git-flow[2] plugin. The git-flow plugin is highly recommended to install. Using it will minimize the chance of doing things incorrectly. It will handle re-merging feature and release branches into all the right places for you with minimal fuss. Also, git-flow is available in a number of package managers, so you may want to check if it's available to install from there before going and installing manually (I have mine installed from homebrew on Mac, debian packages show it available for wheezy: http://packages.debian.org/search?keywords=git-flow&searchon=names&suite=stable§ion=all). Thanks! steven [1] - http://nvie.com/posts/a-successful-git-branching-model/ [2] - https://github.com/nvie/gitflow ------------------------------------------------------------------------------ Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2013-08-06 16:46 |
From | Ben Hackbarth |
Subject | Re: [Cs-dev] New Git-Flow based workflow for Csound6 |
Attachments | None None |
Hi steven, for those of us who don't contribute to the git repo but periodically pull to get bleeding-edge builds, does the process of pulling/compiling stay the same? or do commands change in order to access the dev branch ? thanks, -- ben
On Mon, Aug 5, 2013 at 11:18 PM, Steven Yi <stevenyi@gmail.com> wrote: Hi All, |
Date | 2013-08-06 17:04 |
From | Steven Yi |
Subject | Re: [Cs-dev] New Git-Flow based workflow for Csound6 |
Hi Ben, Yes there will be a change. After you clone, you should use "git checkout -b develop origin/develop" to checkout the develop branch and have it track remotely. After that, you can do the usual git pull to get the latest dev changes. Thanks! steven On Tue, Aug 6, 2013 at 5:46 PM, Ben Hackbarth |
Date | 2013-08-06 17:08 |
From | Felipe Sateler |
Subject | Re: [Cs-dev] New Git-Flow based workflow for Csound6 |
The git repo should probably point to develop by default, then. This [1] stackoverflow question says how to do it with shell acces, but I don't know if there is direct shell access to the git repo in sourceforge. [1]http://stackoverflow.com/questions/3301956/git-correct-way-to-change-active-branch-in-a-bare-repository On Tue, Aug 6, 2013 at 12:04 PM, Steven Yi |
Date | 2013-08-06 23:53 |
From | Michael Gogins |
Subject | Re: [Cs-dev] New Git-Flow based workflow for Csound6 |
Attachments | None None |
Your command does not work here. mkg@sorabji /c/Users/mkg.sorabji/csound-csound6-git $ git branch -b develop origin/develop error: unknown switch `b'
usage: git branch [options] [-r | -a] [--merged | --no-merged] or: git branch [options] [-l] [-f] <branchname> [<start-point>] or: git branch [options] [-r] (-d | -D) <branchname>...
or: git branch [options] (-m | -M) [<oldbranch>] <newbranch> Generic options -v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages -t, --track set up tracking mode (see git-pull(1)) --set-upstream change upstream info -u, --set-upstream-to <upstream>
change the upstream info --unset-upstream Unset the upstream info --color[=<when>] use colored output -r, --remotes act on remote-tracking branches
--contains <commit> print only branches that contain the commit --abbrev[=<n>] use <n> digits to display SHA-1s Specific git-branch actions:
-a, --all list both remote-tracking and local branches -d, --delete delete fully merged branch -D delete branch (even if not merged) -m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists --list list branch names -l, --create-reflog create the branch's reflog --edit-description edit the description for the branch
-f, --force force creation (when already exists) --no-merged <commit> print only not merged branches --merged <commit> print only merged branches --column[=<style>] list branches in columns
mkg@sorabji /c/Users/mkg.sorabji/csound-csound6-git =========================== Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, Aug 5, 2013 at 5:18 PM, Steven Yi <stevenyi@gmail.com> wrote: Hi All, |
Date | 2013-08-07 00:02 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] New Git-Flow based workflow for Csound6 |
Attachments | None None |
He meant $ git branch develop origin/develop then $ git checkout develop and you're on (I think git checkout -b develop origin/develop does the two commands in one). On 6 Aug 2013, at 23:53, Michael Gogins wrote:
Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie |
Date | 2013-08-07 09:04 |
From | Steven Yi |
Subject | Re: [Cs-dev] New Git-Flow based workflow for Csound6 |
Sorry about that! Yes, as Victor mentioned. I usually use "git checkout -b develop origin/develop" myself (the example console output showed that, even though I wrote the wrong command before). On Wed, Aug 7, 2013 at 1:02 AM, Victor Lazzarini |