On Wed, Apr 19, 2017, at 01:11 AM, Sławek Kapłoński wrote: > Hello, > > I have a question about how to deal with bunch of patches which depends > one on another. > I did patch to neutron (https://review.openstack.org/#/c/449831/ > <https://review.openstack.org/#/c/449831/>) which is not merged yet but I > wanted to start also another patch which is depend on this one > (https://review.openstack.org/#/c/457816/ > <https://review.openstack.org/#/c/457816/>). > Currently I was trying to do something like: > 1. git review -d <first patch id> > 2. git checkout -b new_branch_for_second_patch > 3. Make second patch, commit all changes > 4. git review <— this will ask me if I really want to push two patches to > gerrit so I answered „yes” > > Everything is easy for me as long as I’m not doing more changes in first > patch. How I should work with it if I let’s say want to change something > in first patch and later I want to make another change to second patch? > IIRC when I tried to do something like that and I made „git review” to > push changes in second patch, first one was also updated (and I lost > changes made for this one in another branch). > How I should work with something like that? Is there any guide about that > (I couldn’t find such)?
The way I work is to always edit the tip of the series then "squash back" edits as necessary. So lets say we already have A <- B <- C and now I want to edit A and push everything back so that it is up to date. To do this I make a new commit such that A <- B <- C <-D then `git rebase -i HEAD~4` and edit the rebase so that I have: pick A squash D pick B pick C Then after rebase I end up with A' <- B' <- C' and when I git review all three are updated properly in gerrit. The basic idea here is that you are working on a series not a single commit so any time you make changes you curate the entire series. Jim Blair even wrote a tool called git-restack to make this sort of workflow easy. You can pip install it. Hope this helps, Clark __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev