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

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

"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

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

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:06

Hi,

On Thu, 5 Feb 2009, Ingo Molnar wrote:
But it would be so much nicer if i could do the intuitive:

   git revert kernel/softlockup.c
For some people I know, this would intuitively mean that the uncommitted 
changes in kernel/softlockup.c should be reverted.

So I am not convinced that this is an intuitive syntax at all.

Instead, I think that something like

	git revert :/!file=kernel/softlockup.c

would be possible, as it

- does not overload an already overloaded term, and

- is useful for something else than revert, too.

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