<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase.sh, branch v2.10.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.10.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.10.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-06-17T22:45:48Z</updated>
<entry>
<title>i18n: git-sh-setup.sh: mark strings for translation</title>
<updated>2016-06-17T22:45:48Z</updated>
<author>
<name>Vasco Almeida</name>
<email>vascomalmeida@sapo.pt</email>
</author>
<published>2016-06-17T20:21:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d323c6b6410dee0a8a2471b4dbf6d631cd3c3d4d'/>
<id>urn:sha1:d323c6b6410dee0a8a2471b4dbf6d631cd3c3d4d</id>
<content type='text'>
Positional arguments, such as $0, $1, etc, need to be stored on shell
variables for use in translatable strings, according to gettext manual
[1].

Add git-sh-setup.sh to LOCALIZED_SH variable in Makefile to enable
extraction of string marked for translation by xgettext.

Source git-sh-i18n in git-sh-setup.sh for gettext support.
git-sh-setup.sh is a shell library to be sourced by other shell scripts.
In order to avoid other scripts from sourcing git-sh-i18n twice, remove
line that sources it from them.  Not sourcing git-sh-i18n in any script
that uses gettext would lead to failure due to, for instance, gettextln
not being found.

[1] http://www.gnu.org/software/gettext/manual/html_node/Preparing-Shell-Scripts.html

Signed-off-by: Vasco Almeida &lt;vascomalmeida@sapo.pt&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>i18n: rebase: mark placeholder for translation</title>
<updated>2016-06-17T22:45:48Z</updated>
<author>
<name>Vasco Almeida</name>
<email>vascomalmeida@sapo.pt</email>
</author>
<published>2016-06-17T20:20:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c36d8eee49cdf9c12ef66cfc3a780d3a1de3edd2'/>
<id>urn:sha1:c36d8eee49cdf9c12ef66cfc3a780d3a1de3edd2</id>
<content type='text'>
Mark placeholder "&lt;branch&gt;" in git-rebase.sh for translation. The string
containing the named placeholder is passed to shell function
error_on_missing_default_upstream in git-parse-remote.sh which uses it
to display a command hint for the user.

Signed-off-by: Vasco Almeida &lt;vascomalmeida@sapo.pt&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>i18n: rebase: fix marked string to use eval_gettext variant</title>
<updated>2016-06-17T22:45:48Z</updated>
<author>
<name>Vasco Almeida</name>
<email>vascomalmeida@sapo.pt</email>
</author>
<published>2016-06-17T20:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=24a6df489a47dab63f24caa5cc4dcbf6740049cc'/>
<id>urn:sha1:24a6df489a47dab63f24caa5cc4dcbf6740049cc</id>
<content type='text'>
The string message marked for translation should use eval_gettext
variant instead of the gettext one, since we want to dollar-substitute
$head_name in the result.

Signed-off-by: Vasco Almeida &lt;vascomalmeida@sapo.pt&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/commit-tree-ignore-commit-gpgsign'</title>
<updated>2016-05-13T20:18:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-13T20:18:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=50b26f561298c58029d408f4b0c5bca20b7806a3'/>
<id>urn:sha1:50b26f561298c58029d408f4b0c5bca20b7806a3</id>
<content type='text'>
"git commit-tree" plumbing command required the user to always sign
its result when the user sets the commit.gpgsign configuration
variable, which was an ancient mistake.  Rework "git rebase" that
relied on this mistake so that it reads commit.gpgsign and pass (or
not pass) the -S option to "git commit-tree" to keep the end-user
expectation the same, while teaching "git commit-tree" to ignore
the configuration variable.  This will stop requiring the users to
sign commit objects used internally as an implementation detail of
"git stash".

* jc/commit-tree-ignore-commit-gpgsign:
  commit-tree: do not pay attention to commit.gpgsign
</content>
</entry>
<entry>
<title>commit-tree: do not pay attention to commit.gpgsign</title>
<updated>2016-05-03T17:59:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-02T21:58:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6694856153f85cb552cc92d75ddeabf5bdec4f20'/>
<id>urn:sha1:6694856153f85cb552cc92d75ddeabf5bdec4f20</id>
<content type='text'>
ba3c69a9 (commit: teach --gpg-sign option, 2011-10-05) introduced a
"signed commit" by teaching the --[no]-gpg-sign option and the
commit.gpgsign configuration variable to various commands that
create commits.

Teaching these to "git commit" and "git merge", both of which are
end-user facing Porcelain commands, was perfectly fine.  Allowing
the plumbing "git commit-tree" to suddenly change the behaviour to
surprise the scripts by paying attention to commit.gpgsign was not.

Among the in-tree scripts, filter-branch, quiltimport, rebase and
stash are the commands that run "commit-tree".  If any of these
wants to allow users to always sign every single commit, they should
offer their own configuration (e.g. "filterBranch.gpgsign") with an
option to disable signing (e.g. "git filter-branch --no-gpgsign").

Ignoring commit.gpgsign option _obviously_ breaks the backward
compatibility, but it is easy to follow the standard pattern in
scripts to honor whatever configuration variable they choose to
follow.  E.g.

	case $(git config --bool commit.gpgsign) in
	true) sign=-S ;;
	*) sign= ;;
	esac &amp;&amp;
	git commit-tree $sign ...whatever other args...

Do so to make sure that "git rebase" keeps paying attention to the
configuration variable, which unfortunately is a documented mistake.

Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase: decouple --exec from --interactive</title>
<updated>2016-03-18T21:35:31Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-03-18T21:26:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=78ec240020db4bdd773830f3d41f4b4bdf9a4e2d'/>
<id>urn:sha1:78ec240020db4bdd773830f3d41f4b4bdf9a4e2d</id>
<content type='text'>
In the later steps of preparing a patch series I do not want to
edit or reorder the patches any more, but just make sure the
test suite passes after each patch and also to fix breakage
right there if some of the steps fail.  I could run

    EDITOR=true git rebase -i &lt;anchor&gt; -x "make test"

but it would be simpler if it can be spelled like so:

    git rebase &lt;anchor&gt; -x "make test"

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/ok-to-fail-gc-auto-in-rebase'</title>
<updated>2016-01-26T23:40:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-01-26T23:40:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eefc461ce3f2f0405639ff0919b844a894d6a02c'/>
<id>urn:sha1:eefc461ce3f2f0405639ff0919b844a894d6a02c</id>
<content type='text'>
"git rebase", unlike all other callers of "gc --auto", did not
ignore the exit code from "gc --auto".

* jk/ok-to-fail-gc-auto-in-rebase:
  rebase: ignore failures from "gc --auto"
</content>
</entry>
<entry>
<title>rebase: ignore failures from "gc --auto"</title>
<updated>2016-01-13T20:04:53Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-01-13T18:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8c24f5b022095f4735fcb73364ccae7d97576636'/>
<id>urn:sha1:8c24f5b022095f4735fcb73364ccae7d97576636</id>
<content type='text'>
After rebasing, we call "gc --auto" to clean up if we
created a lot of loose objects. However, we do so inside an
&amp;&amp;-chain. If "gc --auto" fails (e.g., because a previous
background gc blocked us by leaving "gc.log" in place),
then:

  1. We will fail to clean up the state directory, leaving
     the user stuck in the rebase forever (even "git am
     --abort" doesn't work, because it calls "gc --auto"!).

  2. In some cases, we may return a bogus exit code from
     rebase, indicating failure when everything except the
     auto-gc succeeded.

We can fix this by ignoring the exit code of "gc --auto".

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/rebase-no-autostash'</title>
<updated>2015-10-05T19:30:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-05T19:30:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6560584494a8053431d0c8e90b78d50f71c8055b'/>
<id>urn:sha1:6560584494a8053431d0c8e90b78d50f71c8055b</id>
<content type='text'>
There was no way to defeat a configured rebase.autostash variable
from the command line, as "git rebase --no-autostash" was missing.

* jk/rebase-no-autostash:
  Documentation/git-rebase: fix --no-autostash formatting
  rebase: support --no-autostash
</content>
</entry>
<entry>
<title>rebase: support --no-autostash</title>
<updated>2015-09-11T00:42:01Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2015-09-10T22:30:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=619e3604288ab54c3694e99746661caf0f2df961'/>
<id>urn:sha1:619e3604288ab54c3694e99746661caf0f2df961</id>
<content type='text'>
This is documented as an option but we don't actually accept it.
Support it so that it is possible to override the "rebase.autostash"
config variable.

Reported-by: Daniel Hahler &lt;genml+git-2014@thequod.de&gt;
Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
