On Wed, Aug 17, 2011 at 9:13 PM, Martin von Zweigbergk <martin.von.zweigbergk@xxxxxxxxx> wrote: > Hi, > > On Tue, Aug 16, 2011 at 10:17 PM, Jeff King <peff@xxxxxxxx> wrote: >> On Wed, Aug 17, 2011 at 09:11:32AM +0700, Nguyen Thai Ngoc Duy wrote: >> >>> Two reasons. I already mentioned the ability to quickly checkout index >>> for a quick test (though there could be more problems down that road). >> >> That's a good thought. However, in practice, I find I also need other >> files from the index to do a successful test. So I end up just >> committing what I think is right, and then afterwards do: > > Maybe a stupid question, but "update-index --swap" would swap all > files, right? So what "other files from the index" would there be? That's some of the "problems down that road", another one being removed files in index. Still the ability to do a quick compile on a single file is cool. > Maybe the above shows that I'm missing something. Still, would it be > possible to achieve the use case with something like the following? > > git stash --keep-index > # fix up files, test etc. > git add .... > git commit > git cherry-pick --strategy=theirs stash && git stash drop Pretty much (if I understand git-stash correctly, I haven't used it much), except that if I change my mind mid way, I can switch back to the original state and keep working: 1. git add -p ... 2. git update-index --swap foo # index <-> wt 3. # make some minor edit, "make foo.o", oops failed, I missed some hunks 4. git checkout -p ... 5. # still not happy, more changes should be made on both index and wt 6. git update-index --swap foo # now index is index, wt is wt 7. # edit some more, when ready to commit, repeat steps 2-6 again 8. git commit -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html