<br><br><div class="gmail_quote">2009/8/20 Murray Steele <span dir="ltr"><<a href="mailto:murray.steele@gmail.com">murray.steele@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><div class="gmail_quote"><div><div></div><div class="h5">2009/8/20 Taryn East <span dir="ltr"><<a href="mailto:teast@globalpersonals.co.uk" target="_blank">teast@globalpersonals.co.uk</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><div class="gmail_quote"><div>there seems to be another implied "key", in the above, that being that you have to make patches as you go along (ie "make a patch from everything I've done so far up until the current head (after rebasing)") - you don't seem to be able to make a set of patches after this.<br>
If this is the case - why? If not - how would you do that?<br><br>Use case: you start work on a big feature - then you find out at alater point that your feature is actually two smaller features, one of which is acceptable and the other is debatable. So you need two patches.<br>
</div></div></blockquote><div><br></div></div></div><div>What I'd do here is create 2 other branches (off master); one for each patch. Then for each patch-branch I'd cherry-pick the commits from my original work branch that provide the functionality for that patch. Then proceed as previously described. </div>
<div><br></div><div>Assuming the 2 patches are actually inter-related and the split into 2 patches is not because they're actually 2 completely different features I'd probably still keep doing all the work in the main branch and then cherry-pick the commits I need for each patch to their patch-branches. If the features are independent though, I'd just delete the original main branch and continue working on the features in their individual patch-branches. </div>
<div><br></div><div>This might seem like overkill, or awfully round-about, but it does mean you keep the work, patches and master all separate, which is something I like. It's probably possible to do it all with one branch and crazy git-fu though.</div>
<div><br></div><div>For creating the actual patches I prefer a single commit, so I'd create further branches from my patch-branches and squash the diff between the patch-branch and master into it and use it for the purposes for git format-patch. Once the patch is generated you can delete this merge-squash branch. Again, this might be possible without the extra merge-squash branch, but I'm not nearly git-y enough.</div>
</div></blockquote><div><br>Neat - thanks to you and to Chris for extra ideas on this - both good solutions to have handy if this ever happens again :)<br><br>and big thanks to everyone else here - lots of learnin' done today :)<br>
<br>Taryn<br><br></div></div><br>