<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--interactive.sh, branch v2.11.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.11.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.11.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2017-01-31T21:32:07Z</updated>
<entry>
<title>Merge branch 'jk/rebase-i-squash-count-fix' into maint</title>
<updated>2017-01-31T21:32:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-31T21:32:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2b3f61dc8b5ee4ee5b1c1ad8bdeebce52244a3a6'/>
<id>urn:sha1:2b3f61dc8b5ee4ee5b1c1ad8bdeebce52244a3a6</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://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 '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://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://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://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://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://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://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>
<entry>
<title>git-rebase--interactive: fix English grammar</title>
<updated>2016-09-08T19:17:03Z</updated>
<author>
<name>Alex Henrie</name>
<email>alexhenrie24@gmail.com</email>
</author>
<published>2016-09-08T04:34:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7c406bd8a7511c6e16f4dbe2ab5d7e57db7a8f72'/>
<id>urn:sha1:7c406bd8a7511c6e16f4dbe2ab5d7e57db7a8f72</id>
<content type='text'>
Signed-off-by: Alex Henrie &lt;alexhenrie24@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase -i: improve advice on bad instruction lines</title>
<updated>2016-09-07T18:56:05Z</updated>
<author>
<name>Ralf Thielow</name>
<email>ralf.thielow@gmail.com</email>
</author>
<published>2016-09-06T18:59:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=37875b4733973ba453abf30e8d48b12751797359'/>
<id>urn:sha1:37875b4733973ba453abf30e8d48b12751797359</id>
<content type='text'>
If we found bad instruction lines in the instruction sheet
of interactive rebase, we give the user advice on how to
fix it.  However, we don't tell the user what to do afterwards.
Give the user advice to run 'git rebase --continue' after
the fix.

Signed-off-by: Ralf Thielow &lt;ralf.thielow@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
