<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/git-stash.sh, branch v1.8.0.2</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.0.2</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.0.2'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2012-09-03T22:54:12Z</updated>
<entry>
<title>Merge branch 'ph/stash-rerere'</title>
<updated>2012-09-03T22:54:12Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-09-03T22:54:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=799beac15391004778186503bf198783960a82a3'/>
<id>urn:sha1:799beac15391004778186503bf198783960a82a3</id>
<content type='text'>
"git stash" internally used "git merge-recursive" backend, which did
not trigger "rerere" upon conflicts unlike other mergy operations.

* ph/stash-rerere:
  stash: invoke rerere in case of conflict
  test: git-stash conflict sets up rerere
</content>
</entry>
<entry>
<title>stash: invoke rerere in case of conflict</title>
<updated>2012-08-17T17:59:17Z</updated>
<author>
<name>Phil Hord</name>
<email>hordp@cisco.com</email>
</author>
<published>2012-07-10T22:52:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=743bf6d8b07f0c5717bf5c37b8b50ae9de619c83'/>
<id>urn:sha1:743bf6d8b07f0c5717bf5c37b8b50ae9de619c83</id>
<content type='text'>
"stash apply" directly calls a backend merge function which does not
automatically invoke rerere.  This confuses mergetool when leftover
rerere state is left behind from previous merges.

Invoke rerere explicitly when we encounter a conflict during stash
apply.  This turns the test introduced by the previous commit to
succeed.

Signed-off-by: Phil Hord &lt;hordp@cisco.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>stash: use eval_gettextln correctly</title>
<updated>2012-04-14T23:31:02Z</updated>
<author>
<name>Ross Lagerwall</name>
<email>rosslagerwall@gmail.com</email>
</author>
<published>2012-04-14T12:37:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=ed3c400c6aba78fac5e5e502c89c4e8304d5ce5f'/>
<id>urn:sha1:ed3c400c6aba78fac5e5e502c89c4e8304d5ce5f</id>
<content type='text'>
Otherwise, passing an invalid option, git stash -v, gave:

git-stash: line 204: $'error: unknown option for \'stash save\':
$option\n       To provide a message, use git stash save -- \'$option\'':
command not found

Signed-off-by: Ross Lagerwall &lt;rosslagerwall@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>stash: Don't fail if work dir contains file named 'HEAD'</title>
<updated>2012-01-01T09:11:56Z</updated>
<author>
<name>Jonathon Mah</name>
<email>me@JonathonMah.com</email>
</author>
<published>2011-12-31T00:14:01Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=44df2e297025d7a9af6c265dfefb687b09e2537a'/>
<id>urn:sha1:44df2e297025d7a9af6c265dfefb687b09e2537a</id>
<content type='text'>
When performing a plain "git stash" (without --patch), git-diff would fail
with "fatal: ambiguous argument 'HEAD': both revision and filename". The
output was piped into git-update-index, masking the failed exit status.
The output is now sent to a temporary file (which is cleaned up by
existing code), and the exit status is checked. The "HEAD" arg to the
git-diff invocation has been disambiguated too, of course.

In patch mode, "git stash -p" would fail harmlessly, leaving the working
dir untouched. Interactive adding is fine, but the resulting tree was
diffed with an ambiguous 'HEAD' argument.

Use &gt;foo (no space) when redirecting output.

In t3904, checks and operations on each file are in the order they'll
appear when interactively staging.

In t3905, fix a bug in "stash save --include-untracked -q is quiet": The
redirected stdout file was considered untracked, and so was removed from
the working directory. Use test path helper functions where appropriate.

Signed-off-by: Jonathon Mah &lt;me@JonathonMah.com&gt;
Acked-by: Thomas Rast &lt;trast@student.ethz.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bc/unstash-clean-crufts'</title>
<updated>2011-10-05T19:36:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-10-05T19:36:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=9eb765d5f400aa922a46f1727259ce114b78561c'/>
<id>urn:sha1:9eb765d5f400aa922a46f1727259ce114b78561c</id>
<content type='text'>
* bc/unstash-clean-crufts:
  git-stash: remove untracked/ignored directories when stashed
  t/t3905: add missing '&amp;&amp;' linkage
  git-stash.sh: fix typo in error message
  t/t3905: use the name 'actual' for test output, swap arguments to test_cmp
</content>
</entry>
<entry>
<title>git-stash: remove untracked/ignored directories when stashed</title>
<updated>2011-08-27T18:12:18Z</updated>
<author>
<name>Brandon Casey</name>
<email>drafnel@gmail.com</email>
</author>
<published>2011-08-27T00:59:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=7474b8b452f2600bd2a9e03f67b83b489aeadb37'/>
<id>urn:sha1:7474b8b452f2600bd2a9e03f67b83b489aeadb37</id>
<content type='text'>
The two new stash options --include-untracked and --all do not remove the
untracked and/or ignored files that are stashed if those files reside in
a subdirectory. e.g. the following sequence fails:

   mkdir untracked &amp;&amp;
   echo hello &gt;untracked/file.txt &amp;&amp;
   git stash --include-untracked &amp;&amp;
   test ! -f untracked/file.txt

Within the git-stash script, git-clean is used to remove the
untracked/ignored files, but since the -d option was not supplied, it does
not remove directories.

So, add -d to the git-clean arguments, and update the tests to test this
functionality.

Reported-by: Hilco Wijbenga &lt;hilco.wijbenga@gmail.com&gt;
Signed-off-by: Brandon Casey &lt;drafnel@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-stash.sh: fix typo in error message</title>
<updated>2011-08-27T18:12:13Z</updated>
<author>
<name>Brandon Casey</name>
<email>drafnel@gmail.com</email>
</author>
<published>2011-08-27T00:59:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=d88acc91785661ef261ed816c13b70068400d194'/>
<id>urn:sha1:d88acc91785661ef261ed816c13b70068400d194</id>
<content type='text'>
Signed-off-by: Brandon Casey &lt;drafnel@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>stash: take advantage of eval_gettextln</title>
<updated>2011-08-08T19:05:22Z</updated>
<author>
<name>Jon Seymour</name>
<email>jon.seymour@gmail.com</email>
</author>
<published>2011-08-07T11:58:16Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=6fdd50e95cff54d3fb0ed40cf69e13461aaf64a1'/>
<id>urn:sha1:6fdd50e95cff54d3fb0ed40cf69e13461aaf64a1</id>
<content type='text'>
Signed-off-by: Jon Seymour &lt;jon.seymour@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dc/stash-con-untracked'</title>
<updated>2011-07-22T21:46:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-07-22T21:46:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=22f41286be2a07cf96d71a795eaee54b702bb570'/>
<id>urn:sha1:22f41286be2a07cf96d71a795eaee54b702bb570</id>
<content type='text'>
* dc/stash-con-untracked:
  stash: Add --include-untracked option to stash and remove all untracked files

Conflicts:
	git-stash.sh
</content>
</entry>
<entry>
<title>stash: Add --include-untracked option to stash and remove all untracked files</title>
<updated>2011-06-26T19:50:46Z</updated>
<author>
<name>David Caldwell</name>
<email>david@porkrind.org</email>
</author>
<published>2011-06-25T00:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=787513027a7d0af3c2cd2f04b85bc7136d580586'/>
<id>urn:sha1:787513027a7d0af3c2cd2f04b85bc7136d580586</id>
<content type='text'>
The --include-untracked option acts like the normal "git stash save" but
also adds all untracked files in the working directory to the stash and then
calls "git clean --force --quiet" to restore the working directory to a
pristine state.

This is useful for projects that need to run release scripts. With this
option, the release scripts can be from the main working directory so one
does not have to maintain a "clean" directory in parallel just for
releasing. Basically the work-flow becomes:

   $ git tag release-1.0
   $ git stash --include-untracked
   $ make release
   $ git clean -f
   $ git stash pop

"git stash" alone is not enough in this case--it leaves untracked files
lying around that might mess up a release process that expects everything to
be very clean or might let a release succeed that should actually fail (due
to a new source file being created that hasn't been committed yet).

Signed-off-by: David Caldwell &lt;david@porkrind.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
