git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* How do I resolve conflict after popping stash without adding the file to index?
@ 2015-04-20 21:02 Dmitry Gutov
  2015-04-20 21:11 ` Junio C Hamano
  0 siblings, 1 reply; 23+ messages in thread
From: Dmitry Gutov @ 2015-04-20 21:02 UTC (permalink / raw)
  To: git

Hi all,

After the user does 'git stash pop', it may result in conflicts.

However, in many cases they may not intend to commit the stashed changes 
right away, so staging the applied changes is often not what they intend 
to do. However, the conflict is there until you mark it as resolved.

What's the proper thing to do there? 'git add file.ext' followed by 'git 
reset file.ext'? Or simply 'git reset file.ext'?

Either will reset already-staged changes from the said file, which is an 
irreversible operation.

Best regards,
Dmitry.

^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: [PATCH 3/3] stash: require a clean index to apply
@ 2015-06-05  0:43 Jonathan Kamens
  2015-06-07 12:40 ` Jeff King
  0 siblings, 1 reply; 23+ messages in thread
From: Jonathan Kamens @ 2015-06-05  0:43 UTC (permalink / raw)
  To: git

I'm writing about the patch that Jeff King submitted on April 22, in 
<20150422193101.GC27945@peff.net>, in particular, 
https://github.com/git/git/commit/ed178ef13a26136d86ff4e33bb7b1afb5033f908 
. It appears that this patch was included in git 2.4.2, and it breaks my 
workflow.

In particular, I have a pre-commit hook whith does the following:

1. Stash unstaged changes ("git stash -k").
2. Run flake8 over all staged changes.
3. If flake8 complains, then error out of the commit.
4. Otherwise, apply the stash and exit.

This way I am prevented from committing staged changes that don't pass 
flake8. I can't imagine that this is a terribly uncommon workflow.

This worked fine until the aforementioned comment, after which my hook 
complains, "Cannot apply stash: Your index contains uncommitted changes."

The reason I have to do things this way is as follows. Suppose I did the 
following:

1. Stage changes that have a flake8 violation.
2. Fix the flake8 violation in the unstaged version of the staged file.
3. Commit the previously staged changes.

If my commit hook runs over the unstaged version of the file, then it 
won't detect the flake8 violation, and as a result the violation will be 
committed.

If anyone has a suggestion for how I can achieve the desired goal within 
the constraints of the 2.4.2 version of git-stash.sh, I'd love to hear 
it. Otherwise, I'd like to ask for this patch to be reconsidered.

Thank you,

Jonathan Kamens

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2015-06-15 17:42 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-20 21:02 How do I resolve conflict after popping stash without adding the file to index? Dmitry Gutov
2015-04-20 21:11 ` Junio C Hamano
2015-04-20 22:54   ` Dmitry Gutov
2015-04-21 21:29     ` Jeff King
2015-04-21 22:35       ` Dmitry Gutov
2015-04-21 22:52         ` Jeff King
2015-04-22 17:41           ` Junio C Hamano
2015-04-22 18:35             ` Jeff King
2015-04-22 19:29               ` Jeff King
2015-04-22 19:30                 ` [PATCH 1/3] t3903: stop hard-coding commit sha1s Jeff King
2015-04-22 19:30                 ` [PATCH 2/3] t3903: avoid applying onto dirty index Jeff King
2015-04-22 19:31                 ` [PATCH 3/3] stash: require a clean index to apply Jeff King
2015-04-22 19:45               ` How do I resolve conflict after popping stash without adding the file to index? Junio C Hamano
2015-04-22 19:55                 ` Jeff King
  -- strict thread matches above, loose matches on Subject: below --
2015-06-05  0:43 [PATCH 3/3] stash: require a clean index to apply Jonathan Kamens
2015-06-07 12:40 ` Jeff King
2015-06-07 12:47   ` Jeff King
2015-06-10 18:19   ` bär
2015-06-10 18:56     ` Jeff King
2015-06-10 19:16       ` Junio C Hamano
2015-06-10 19:27         ` Jeff King
2015-06-10 21:54           ` bär
2015-06-15 17:42           ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).