<div class="gmail_quote">If you compare the two approaches it does not save you very much,</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Sun, Aug 22, 2010 at 3:28 PM, Bill Lorensen <span dir="ltr"><<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">To avoid unnecessary bureaucracy,  I think there are times one should<br>
not have to go through the the topic stage. Have we adopted branchy<br>
workflow? ITK has not yet done so.<br>
<br>
For example, it I want to fix a bug I might as suggested here:<br>
<a href="http://www.itk.org/Wiki/ITKContribute" target="_blank">http://www.itk.org/Wiki/ITKContribute</a><br>
<br>1. git fetch origin<br>2. git checkout master<br>3. git branch BUG0011074<br>4. git checkout BUG0011074<br>5.      vim CMakeLists.txt   # Edit to change the version number<br>6. git add CMakeLists.txt<br>7. git commit<br>
8. git checkout master<br>9. git merge BUG0011074<br>10. git push origin<br>11. git branch -d BUG0011074<br>
<br></blockquote><div>8. git push stage HEAD</div><div>9. ssh <a href="mailto:git@vtk.org">git@vtk.org</a> stage VTK merge BUG0011074</div><div>10. git checkout master</div><div>11. git pull</div><div>12. git branch -d BUG0011074</div>
<div><br></div><div>For Titan, there is a git alias I created that can automate more of this. You can also condense the earlier lines,</div><div><br></div><div><div>1. git fetch origin</div><div>2. git checkout checkout -b BUG0011074 origin/master</div>
<div>skip through to step 5.</div></div><div><br></div><div>The stage allows us to control the types of merge commits people can make, preventing the accidental merge commits like the one you made from being pushed into VTK's history.</div>
<div><br></div><div>Thanks,</div><div><br></div><div>Marcus</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
On Sun, Aug 22, 2010 at 3:22 PM, Marcus D. Hanwell<br>
<div><div></div><div class="h5"><<a href="mailto:marcus.hanwell@kitware.com">marcus.hanwell@kitware.com</a>> wrote:<br>
> On Sun, Aug 22, 2010 at 3:15 PM, Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>><br>
> wrote:<br>
>><br>
>> So how do I modify my workflow. Here is what I did<br>
>><br>
>> git checkout TestHarness<br>
>>  edited a bunch of files<br>
>>  compiled and tested my changes<br>
>>  added and committed<br>
><br>
> The following bits should change,<br>
> (see <a href="http://www.vtk.org/Wiki/Git/Workflow/Stage" target="_blank">http://www.vtk.org/Wiki/Git/Workflow/Stage</a>)<br>
><br>
>><br>
>> git checkout master<br>
>> git merge TestHarness<br>
>> git pull<br>
>> git push<br>
><br>
> One time only,<br>
> git remote add git@vtk.org:stage/VTK.git<br>
> Then, you would do a (from your topic branch),<br>
> git push stage HEAD<br>
> ssh <a href="mailto:git@vtk.org">git@vtk.org</a> stage VTK merge TestHarness<br>
> Where TestHarness is the name of your topic branch. You can also issue,<br>
> ssh <a href="mailto:git@vtk.org">git@vtk.org</a> stage VTK print<br>
> To see a list of staged topic that are not yet fully merged. This is part<br>
> one of the move to the branchy workflow - actually allowing topic branches<br>
> to be merged into master. Right now we are allowing both the CVS-like linear<br>
> workflow (push straight to VTK), or branch (using the stage).<br>
> I hope that makes things clearer.<br>
> Thanks,<br>
> Marcus<br>
>><br>
>><br>
>> On Sun, Aug 22, 2010 at 3:09 PM, Marcus D. Hanwell<br>
>> <<a href="mailto:marcus.hanwell@kitware.com">marcus.hanwell@kitware.com</a>> wrote:<br>
>> > On Sun, Aug 22, 2010 at 3:05 PM, Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> I tried to push some changes to master. Here is what happened...<br>
>> >> [lorensen@localhost VTK]$ git push<br>
>> >> Counting objects: 32, done.<br>
>> >> Delta compression using up to 2 threads.<br>
>> >> Compressing objects: 100% (19/19), done.<br>
>> >> Writing objects: 100% (19/19), 2.10 KiB, done.<br>
>> >> Total 19 (delta 14), reused 0 (delta 0)<br>
>> >> ----------------------------------------------------------------------<br>
>> >> merge commit 06c3f787 not allowed<br>
>> >> ----------------------------------------------------------------------<br>
>> >> error: hook declined to update refs/heads/master<br>
>> >> To git@vtk.org:VTK.git<br>
>> >>  ! [remote rejected] master -> master (hook declined)<br>
>> >> error: failed to push some refs to 'git@vtk.org:VTK.git'<br>
>> >><br>
>> > When pushing directly to VTK, no merge commits are allowed. You probably<br>
>> > did<br>
>> > a git pull and created a merge with the remote master, you can tell by<br>
>> > issuing,<br>
>> > git log --graph --stat origin/master..<br>
>> > In all likelihood, you can fix it by simply issuing,<br>
>> > git pull --rebase origin/master<br>
>> > We do have a topic stage that allows merge commits. If you get stuck,<br>
>> > you<br>
>> > can always push your topic and let me take a look at it for you.<br>
>> > Thanks,<br>
>> > Marcus<br>
><br>
><br>
</div></div></blockquote></div><br>