<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase.sh, branch v2.13.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.13.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.13.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2017-04-26T06:39:02Z</updated>
<entry>
<title>Merge branch 'gb/rebase-signoff'</title>
<updated>2017-04-26T06:39:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-04-26T06:39:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=768c7cb710a970a522320f712f028f17eabc66ed'/>
<id>urn:sha1:768c7cb710a970a522320f712f028f17eabc66ed</id>
<content type='text'>
"git rebase" learns "--signoff" option.

* gb/rebase-signoff:
  rebase: pass --[no-]signoff option to git am
  builtin/am: fold am_signoff() into am_append_signoff()
  builtin/am: honor --signoff also when --rebasing
</content>
</entry>
<entry>
<title>rebase: pass --[no-]signoff option to git am</title>
<updated>2017-04-19T03:37:07Z</updated>
<author>
<name>Giuseppe Bilotta</name>
<email>giuseppe.bilotta@gmail.com</email>
</author>
<published>2017-04-18T09:29:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9f79524a6af0527e380742ee103ca4fbcd440b42'/>
<id>urn:sha1:9f79524a6af0527e380742ee103ca4fbcd440b42</id>
<content type='text'>
This makes it easy to sign off a whole patchset before submission.

Signed-off-by: Giuseppe Bilotta &lt;giuseppe.bilotta@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/rebase-forget'</title>
<updated>2016-12-19T22:45:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-12-19T22:45:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=06cd5a1e01328724b7709ac232e36263e59f5f26'/>
<id>urn:sha1:06cd5a1e01328724b7709ac232e36263e59f5f26</id>
<content type='text'>
"git rebase" learned "--quit" option, which allows a user to
remove the metadata left by an earlier "git rebase" that was
manually aborted without using "git rebase --abort".

* nd/rebase-forget:
  rebase: add --quit to cleanup rebase, leave everything else untouched
</content>
</entry>
<entry>
<title>rebase: add --quit to cleanup rebase, leave everything else untouched</title>
<updated>2016-12-11T21:51:41Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-11-12T02:00:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9512177b68263085fef84cdbd45ecdee7bfe2377'/>
<id>urn:sha1:9512177b68263085fef84cdbd45ecdee7bfe2377</id>
<content type='text'>
There are occasions when you decide to abort an in-progress rebase and
move on to do something else but you forget to do "git rebase --abort"
first. Or the rebase has been in progress for so long you forgot about
it. By the time you realize that (e.g. by starting another rebase)
it's already too late to retrace your steps. The solution is normally

    rm -r .git/&lt;some rebase dir&gt;

and continue with your life. But there could be two different
directories for &lt;some rebase dir&gt; (and it obviously requires some
knowledge of how rebase works), and the ".git" part could be much
longer if you are not at top-dir, or in a linked worktree. And
"rm -r" is very dangerous to do in .git, a mistake in there could
destroy object database or other important data.

Provide "git rebase --quit" for this use case, mimicking a precedent
that is "git cherry-pick --quit".

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<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>
</feed>
