git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Oops, I screwed it up

From
PFPéter András Felvégi <petschy@gmail.com>
Date
Dec 10, 2010, 18:31 UTC
Message-ID
<AANLkTi=eFmCjdBYHx9Jy=Q7993GghuV1dp12E4Aj7pkZ@mail.gmail.com>
In-Reply-To
<AANLkTinyZ-dqV5=yaucLZTj14hdxS61v=VT-j82SqN7r@mail.gmail.com>
Dear All,
I did some rebasing which ended in an unexpected result.
This is what I did precisely:
- added 3 files to the index, then committed (#1)
- realized that a file was left out (not yet tracked), so added + committed it
- stashed the local changes
- used rebase -i to meld the last commit into the previous one (fixup)
- stash pop
- added more files to the index, committed (#2)
- made some minor changes to a file committed in #1, added, committed
- decided to meld into #1
- there were 3 more locally changed files
- stashed them
- rebase -i, moved the last item one line up, set to fixup, so that it
melds into #1
- stash pop: surprise! the stash was empty
git log --stat showed that the 3 stashed files got melded into commit #1, too.
I didn't expect this. Is this the normal operation?

I was able to undo the effects by rebase -i, edit (as in the git rebase manpage under SPLITTING COMMITS), committing again w/o the 3 files I didn't need, saving them to a temp dir, revert them via checkout, rebase --continue, then move the files from temp to have them locally changed again. This is where I would have been if stash pop succeeded.

The files in commit #1, #2, and the last 3 locally changed ones where disjunct.

I don't know how those 3 locally changed, stashed files ended up in the commit. I checked my command line history, I wasn't adding them.

Unfortunately, I wasn't able to reproduce the phenomenon on a test
repo, by 3 files:
- commit a, b, c
- change a, commit
- change b, commit
- change a, commit
- change c
- stash c
- rebase -i to meld the two a's, making b the last commit
- stash pop : it worked
Any ideas?
I'm using git version 1.7.2.3 under Debian Squeeze AMD64.
Please CC me, I'm not on the list. Thanks.
Regards, Peter
Next: Andreas Schwab
Message 1 of 2 in “Oops, I screwed it up”
  1. Péter András FelvégiDec 10, 2010
  2. Andreas SchwabDec 10, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.