On Tue, Sep 15, 2009 at 2:54 PM, Mike McGrath <mmcgrath@xxxxxxxxxx> wrote: > This has bugged me forever and I think I've got it figured out now (thanks > mdomsch for pointing me in the right direction) > > Lets say you've been working for weeks on a module in staging and you want > to cherry pick those commits. How do you do it? It becomes trickier even > if someone else has been working on other modules in staging. This seems > to do the trick: > > git log --name-status master..staging module/path > > or to see the diff > > git diff master staging module/path > > The only thing to be careful of that I can tell is if one of the commits > listed in git-log includes something in another path outside of your > module. > > Anyway, if you can think of a better way to do this let me know, so far > though this worked well for me. > > -Mike > Depending on what you're looking for, this can be achieved a few different ways. If the goal is to copy the end-result (or, current state) between branches, and maintaining commit history isn't as important, you can just do this: git diff --relative branch1 branch2 -- path/to/files | git-apply --index or git diff --relative branch1 branch2 -- path/to/files | patch -p1 If the goal is to cherry-pick every commit and replay them into a new branch, then your above method is probably the best way to do it. For reference, here's a good explanation from Linus on this issue: http://thread.gmane.org/gmane.comp.version-control.git/37600/focus=37683 ---Brett. _______________________________________________ Fedora-infrastructure-list mailing list Fedora-infrastructure-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-infrastructure-list