<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--interactive.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-05-10T04:13:13Z</updated>
<entry>
<title>doc: replace more gmane links</title>
<updated>2017-05-10T04:13:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-05-08T01:38:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5840eb9d1412b60982e78a6557b93b0fc162054d'/>
<id>urn:sha1:5840eb9d1412b60982e78a6557b93b0fc162054d</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase -i: use the rebase--helper builtin</title>
<updated>2017-02-09T22:55:40Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-02-09T22:23:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=18633e1a22a68bbe8e6311a1039d13ebbf6fd041'/>
<id>urn:sha1:18633e1a22a68bbe8e6311a1039d13ebbf6fd041</id>
<content type='text'>
Now that the sequencer learned to process a "normal" interactive rebase,
we use it. The original shell script is still used for "non-normal"
interactive rebases, i.e. when --root or --preserve-merges was passed.

Please note that the --root option (via the $squash_onto variable) needs
special handling only for the very first command, hence it is still okay
to use the helper upon continue/skip.

Also please note that the --no-ff setting is volatile, i.e. when the
interactive rebase is interrupted at any stage, there is no record of
it. Therefore, we have to pass it from the shell script to the
rebase--helper.

Note: the test t3404 had to be adjusted because the the error messages
produced by the sequencer comply with our current convention to start with
a lower-case letter.

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 '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://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://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://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://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://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>
</feed>
