<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--interactive.sh, branch v2.12.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.12.0</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.12.0'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2017-01-18T23:12:13Z</updated>
<entry>
<title>Merge branch 'jk/rebase-i-squash-count-fix'</title>
<updated>2017-01-18T23:12:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-18T23:12:13Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=5c924692cd1c45e9c1281516e9823f7c5c3c7cd8'/>
<id>urn:sha1:5c924692cd1c45e9c1281516e9823f7c5c3c7cd8</id>
<content type='text'>
"git rebase -i" with a recent update started showing an incorrect
count when squashing more than 10 commits.

* jk/rebase-i-squash-count-fix:
  rebase--interactive: count squash commits above 10 correctly
</content>
</entry>
<entry>
<title>rebase--interactive: count squash commits above 10 correctly</title>
<updated>2017-01-08T03:26:53Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2017-01-07T08:23:19Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=356b8ecff101e3f763619d74f344ede3204c7991'/>
<id>urn:sha1:356b8ecff101e3f763619d74f344ede3204c7991</id>
<content type='text'>
We generate the squash commit message incrementally running
a sed script once for each commit. It parses "This is
a combination of &lt;N&gt; commits" from the first line of the
existing message, adds one to &lt;N&gt;, and uses the result as
the number of our current message.

Since f2d17068fd (i18n: rebase-interactive: mark comments of
squash for translation, 2016-06-17), the first line may be
localized, and sed uses a pretty liberal regex, looking for:

  /^#.*([0-9][0-9]*)/

The "[0-9][0-9]*" tries to match double digits, but it
doesn't quite work.  The first ".*" is greedy, so if you
have:

  This is a combination of 10 commits.

it will eat up "This is a combination of 1", leaving "0" to
match the first "[0-9]" digit, and then skipping the
optional match of "[0-9]*".

As a result, the count resets every 10 commits, and a
15-commit squash would end up as:

  # This is a combination of 5 commits.
  # This is the 1st commit message:
  ...
  # This is the commit message #2:
  ... and so on ..
  # This is the commit message #10:
  ...
  # This is the commit message #1:
  ...
  # This is the commit message #2:
  ... etc, up to 5 ...

We can fix this by making the ".*" less greedy. Instead of
depending on ".*?" working portably, we can just limit the
match to non-digit characters, which accomplishes the same
thing.

Reported-by: Brandon Tolsch &lt;btolsch@gmail.com&gt;
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 'va/i18n-even-more'</title>
<updated>2016-12-27T08:11:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-12-27T08:11:45Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=eef32a0653f9b4e90ace46c9f041ff41dbf4e632'/>
<id>urn:sha1:eef32a0653f9b4e90ace46c9f041ff41dbf4e632</id>
<content type='text'>
* va/i18n-even-more:
  i18n: fix misconversion in shell scripts
</content>
</entry>
<entry>
<title>i18n: fix misconversion in shell scripts</title>
<updated>2016-12-20T17:36:23Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-12-20T17:36:23Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=acefe2be287b099886f1240bd1f5adfa66dbadee'/>
<id>urn:sha1:acefe2be287b099886f1240bd1f5adfa66dbadee</id>
<content type='text'>
An earlier series that was merged at 2703572b3a ("Merge branch
'va/i18n-even-more'", 2016-07-13) failed to use $(eval_gettext
"string with \$variable interpolation") and instead used gettext in
a few places, and ended up showing the variable names in the
message, e.g.

    $ git submodule
    fatal: $program_name cannot be used without a working tree.

Catch these mistakes with

    $ git grep -n '[^_]gettext .*\\\$'

and fix them all to use eval_gettext instead.

Reported-by: Josh Bleecher Snyder
Acked-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 'js/rebase-i-commentchar-fix'</title>
<updated>2016-11-23T19:23:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-11-23T19:23:17Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=bd53f38d52b87340ad791290d700c5c7e8587f23'/>
<id>urn:sha1:bd53f38d52b87340ad791290d700c5c7e8587f23</id>
<content type='text'>
"git rebase -i" did not work well with core.commentchar
configuration variable for two reasons, both of which have been
fixed.

* js/rebase-i-commentchar-fix:
  rebase -i: handle core.commentChar=auto
  stripspace: respect repository config
  rebase -i: highlight problems with core.commentchar
</content>
</entry>
<entry>
<title>rebase -i: handle core.commentChar=auto</title>
<updated>2016-11-21T19:00:41Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2016-11-21T14:18:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=882cd23777f8984e433e0c0addae5e9d70de75e8'/>
<id>urn:sha1:882cd23777f8984e433e0c0addae5e9d70de75e8</id>
<content type='text'>
When 84c9dc2 (commit: allow core.commentChar=auto for character auto
selection, 2014-05-17) extended the core.commentChar functionality to
allow for the value 'auto', it forgot that rebase -i was already taught to
handle core.commentChar, and in turn forgot to let rebase -i handle that
new value gracefully.

Reported by Taufiq Hoven.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rt/rebase-i-broken-insn-advise' into maint</title>
<updated>2016-09-29T23:49:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-09-29T23:49:46Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=cec5f0bf80a972caedb72ad76dd0b0c0716bf9ff'/>
<id>urn:sha1:cec5f0bf80a972caedb72ad76dd0b0c0716bf9ff</id>
<content type='text'>
When "git rebase -i" is given a broken instruction, it told the
user to fix it with "--edit-todo", but didn't say what the step
after that was (i.e. "--continue").

* rt/rebase-i-broken-insn-advise:
  rebase -i: improve advice on bad instruction lines
</content>
</entry>
<entry>
<title>Merge branch 'jk/rebase-i-drop-ident-check' into maint</title>
<updated>2016-09-29T23:49:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-09-29T23:49:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=e25e6f3947403ed87cc016b7dc2c0692a5b6c2d2'/>
<id>urn:sha1:e25e6f3947403ed87cc016b7dc2c0692a5b6c2d2</id>
<content type='text'>
Even when "git pull --rebase=preserve" (and the underlying "git
rebase --preserve") can complete without creating any new commit
(i.e. fast-forwards), it still insisted on having a usable ident
information (read: user.email is set correctly), which was less
than nice.  As the underlying commands used inside "git rebase"
would fail with a more meaningful error message and advice text
when the bogus ident matters, this extra check was removed.

* jk/rebase-i-drop-ident-check:
  rebase-interactive: drop early check for valid ident
</content>
</entry>
<entry>
<title>Merge branch 'rt/rebase-i-broken-insn-advise'</title>
<updated>2016-09-26T23:09:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-09-26T23:09:21Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=104a93a329fdb5ea530cee4012a3023346f2a849'/>
<id>urn:sha1:104a93a329fdb5ea530cee4012a3023346f2a849</id>
<content type='text'>
When "git rebase -i" is given a broken instruction, it told the
user to fix it with "--edit-todo", but didn't say what the step
after that was (i.e. "--continue").

* rt/rebase-i-broken-insn-advise:
  rebase -i: improve advice on bad instruction lines
</content>
</entry>
<entry>
<title>Merge branch 'jk/rebase-i-drop-ident-check'</title>
<updated>2016-09-21T22:15:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-09-21T22:15:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=ae1ae600db5e159c4563ee080531b9500c26d635'/>
<id>urn:sha1:ae1ae600db5e159c4563ee080531b9500c26d635</id>
<content type='text'>
Even when "git pull --rebase=preserve" (and the underlying "git
rebase --preserve") can complete without creating any new commit
(i.e. fast-forwards), it still insisted on having a usable ident
information (read: user.email is set correctly), which was less
than nice.  As the underlying commands used inside "git rebase"
would fail with a more meaningful error message and advice text
when the bogus ident matters, this extra check was removed.

* jk/rebase-i-drop-ident-check:
  rebase-interactive: drop early check for valid ident
</content>
</entry>
</feed>
