On 05/12/2014 01:03 PM, Lowery, Mathew wrote: > Gerrit supplies the following "shortcuts" for any change (in the "new > screen", there's a Download drop down in the top right or for the "old > screen", it's just under the Patch Set heading): > > Checkoutgit fetch https://review.openstack.org/openstack/trove > refs/changes/09/88709/11 && git checkout FETCH_HEAD > Cherry-Pickgit fetch https://review.openstack.org/openstack/trove > refs/changes/09/88709/11 && git cherry-pick FETCH_HEAD > Format-Patchgit fetch https://review.openstack.org/openstack/trove > refs/changes/09/88709/11 && git format-patch -1 --stdout FETCH_HEAD > Pullgit pull https://review.openstack.org/openstack/trove > refs/changes/09/88709/11 > Patch-File629016b.diff.base64 | 629016b.diff.zip > > I have questions regarding these shortcuts, specifically in the context > of Gerrit dependencies (i.e. one Gerrit change depends on another Gerrit > change) Let's say my ultimate goal is to get the patch set including its > dependencies and apply those to the latest master because I want to do > some manual testing. Below is my understanding of the existing options > (feel free to correct any incorrect statements): > > * Checkout grabs the original sequence of commits as they were at > submit time. In other words, all the parent commits are the same as > when the patch set was submitted. The master and the parent > dependencies could have all advanced or changed. > * Cherry-pick applies the diff introduced by the named patch set > alone. Parent dependencies are not involved.\ > * Format-patch: I don't know when to use this. > * Pull: By default this will merge the two branches (and create a > merge commit). However, I have pulls configured to always rebase. > When the pull does a rebase, the patch set and its dependencies do > not appear as the most recent commits which I find not ideal. > * Patch-File: Isn't this a portable cherry-pick? How does it relate to > format-patch? > > So that summarizes my understanding of the current shortcuts. > > What (I think) I want (that is not provided) is this: > > git fetch https://review.openstack.org/openstack/trove > refs/changes/09/88709/11 && git checkout FETCH_HEAD && git > fetch https://review.openstack.org/openstack/trove master && git rebase > FETCH_HEAD > > In other words, fetch the patch set with dependencies then check it out > (detached head). Fetch the latest master then rebase the patch set (and > dependencies) on the latest master. End result: latest master with patch > set and all dependencies as the most recent commits. > > Am I missing something fundamental or would this be a useful shortcut to > have?
Is there a reason you aren't just using git-review for this?
git review -d 88709 && git rebase master
-Sean
--
Sean Dague
http://dague.net
signature.asc
Description: OpenPGP digital signature
_______________________________________________ OpenStack-dev mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
