Hello Everyone,
I was just trying to do some experimentation with `stash` and I've run
into a problem.
I was working on my `master` branch and decided that I wanted to
create a `dev` branch. I did `git stash` and then `git checkout -b
dev`. Then I did `git stash apply` and everything worked as expected.
I continued working but then realized that I wanted a `refactoring`
branch. In the process of continuing to work I had also cleared the
stash stack with `git stash clear`, although this had no visible
effect other than to remove any entries from `git stash list`. As
before, I did `git stash` and then `git checkout -b refactoring` and
here lies my problem.
When I do `git stash apply`, it deletes the file I'm working with.
$ ls
featureList.txt* keycontrol.mdb*
$ git show stash@{0}
commit b3c0f4b9b3c3ef7741a03fb27174f5838abc939d
Merge: 9fb9886 112bba9
Author: Tim Visher [off-list ref]
Date: Tue Mar 10 15:25:04 2009 -0400
WIP on dev: 9fb9886 Added DB Lock file to .gitignore. EOM
diff --cc keycontrol.mdb
index 68a9bac,68a9bac..0000000
--- a/keycontrol.mdb
+++ b/keycontrol.mdb
$ git stash apply
Removing keycontrol.mdb
# On branch refactoring
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working
directory)
#
# deleted: keycontrol.mdb
#
no changes added to commit (use "git add" and/or "git commit -a")
Considering the output of `git show` I would expect that the contents
of the stash are, well, what I expect them to be: a new version of
keycontrol.mdb.
I'm sure I'm missing something completely juvenile but I could really
use some help because that stash represents about an hours worth of
work. Not something to totally loose sleep over but something that
would be nicer to not have to do over.
Thanks in advance for your help!
--
In Christ,
Timmy V.
http://burningones.com/
http://five.sentenc.es/ - Spend less time on e-mail
Quoting Tim Visher [off-list ref]:
When I do `git stash apply`, it deletes the file I'm working with.
$ ls
featureList.txt* keycontrol.mdb*
$ git show stash@{0}
commit b3c0f4b9b3c3ef7741a03fb27174f5838abc939d
Merge: 9fb9886 112bba9
Author: Tim Visher [off-list ref]
Date: Tue Mar 10 15:25:04 2009 -0400
WIP on dev: 9fb9886 Added DB Lock file to .gitignore. EOM
diff --cc keycontrol.mdb
index 68a9bac,68a9bac..0000000
--- a/keycontrol.mdb
+++ b/keycontrol.mdb
$ git stash apply
Removing keycontrol.mdb
# On branch refactoring
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working
directory)
#
# deleted: keycontrol.mdb
#
no changes added to commit (use "git add" and/or "git commit -a")
Considering the output of `git show` I would expect that the contents
of the stash are, well, what I expect them to be: a new version of
keycontrol.mdb.
The 'index' line in your 'diff --cc' output says that back when you created that stash, the HEAD and your index both held a blob object 68a9bac and your working tree didn't have that file, ie, removed. It is very natural that the file is removed when you apply that stash.
--
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/
On Wed, Mar 11, 2009 at 6:02 AM, Nanako Shiraishi [off-list ref] wrote:
Quoting Tim Visher [off-list ref]:
quoted
When I do `git stash apply`, it deletes the file I'm working with.
$ ls
featureList.txt* keycontrol.mdb*
$ git show stash@{0}
commit b3c0f4b9b3c3ef7741a03fb27174f5838abc939d
Merge: 9fb9886 112bba9
Author: Tim Visher [off-list ref]
Date: Tue Mar 10 15:25:04 2009 -0400
WIP on dev: 9fb9886 Added DB Lock file to .gitignore. EOM
diff --cc keycontrol.mdb
index 68a9bac,68a9bac..0000000
--- a/keycontrol.mdb
+++ b/keycontrol.mdb
$ git stash apply
Removing keycontrol.mdb
# On branch refactoring
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working
directory)
#
# deleted: keycontrol.mdb
#
no changes added to commit (use "git add" and/or "git commit -a")
Considering the output of `git show` I would expect that the contents
of the stash are, well, what I expect them to be: a new version of
keycontrol.mdb.
The 'index' line in your 'diff --cc' output says that back when you created that stash, the HEAD and your index both held a blob object 68a9bac and your working tree didn't have that file, ie, removed. It is very natural that the file is removed when you apply that stash.
Huh. I don't know how that would have happened, but I guess I should
have been more careful with the stash command. Oh well.
Thanks for your help!
--
In Christ,
Timmy V.
http://burningones.com/
http://five.sentenc.es/ - Spend less time on e-mail