Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

"git revert" feature suggestion: revert the last commit to a file

From: Ingo Molnar <hidden>
Date: 2016-06-15 22:46:06

I frequently come across this workflow pattern: i queue up some new change 
in a topic brach, and there's a test failure within the next 60 minutes or 
so. I know which file causes the breakage - say kernel/softlockup.c - but i 
dont know the precise commit ID. I want to revert the change in the 
integration branch as quickly as possible via a command - without having to 
wade through 'git log' info and cut&paste-ing commit IDs.

I usually know the topic branch name where the breakage originates from, so 
i can do this in the integration branch:

   git revert core/softlockup

and it does the right thing and the tests can continue while i take more 
time in the topic branch to repair the damage there. (at which point i can 
integrate the fixed/updated commit on top of the reverted commit in the 
integration branch.)

But often i have other changes queued up in that topic branch as well - and 
the best, most finegrained information i have about the identity of the 
commit is the filename it went into.

So i have to do something like:

   git revert $(git log -1 --pretty=format:"%h" kernel/softlockup.c)

(tucked away in a tip-revert-file helper script.)

But it would be so much nicer if i could do the intuitive:

   git revert kernel/softlockup.c

Or at least, to separate it from revision names cleanly, something like:

   git revert -- kernel/softlockup.c

Would something like this be possible in generic Git? It would sure be a 
nice little touch that i would make use of frequently.

Or is it a bad idea perhaps? Or have i, out of sheer ignorance, failed to 
discover some nice little shortcut that can give me all of this already?

Thanks,

	Ingo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help