<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--interactive.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-09-29T23:49:46Z</updated>
<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>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>
<entry>
<title>i18n: fix git rebase interactive commit messages</title>
<updated>2016-08-24T15:43:27Z</updated>
<author>
<name>Jean-Noel Avila</name>
<email>jn.avila@free.fr</email>
</author>
<published>2016-08-21T14:50:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8aa6dc1d9e680448d53558ba2a1774481b30711a'/>
<id>urn:sha1:8aa6dc1d9e680448d53558ba2a1774481b30711a</id>
<content type='text'>
For proper i18n, the logic cannot embed english specific processing.

Signed-off-by: Jean-Noel Avila &lt;jn.avila@free.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/rebase-i-progress-tidy'</title>
<updated>2016-08-08T21:48:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-08T21:48:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6b9114c649495bce5f9f88a519672c9d56ee6d81'/>
<id>urn:sha1:6b9114c649495bce5f9f88a519672c9d56ee6d81</id>
<content type='text'>
Regression fix for an i18n topic already in 'master'.

* js/rebase-i-progress-tidy:
  rebase-interactive: trim leading whitespace from progress count
</content>
</entry>
<entry>
<title>rebase-interactive: drop early check for valid ident</title>
<updated>2016-07-29T22:47:06Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-07-29T22:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1e461c4f1fc43a00c7f576a111b4f002ba2d2557'/>
<id>urn:sha1:1e461c4f1fc43a00c7f576a111b4f002ba2d2557</id>
<content type='text'>
Since the very inception of interactive-rebase in 1b1dce4
(Teach rebase an interactive mode, 2007-06-25), there has
been a preemptive check, before looking at any commits, to
see whether the user has a valid name/email combination.

This is convenient, because it means that we abort the
operation before even beginning (rather than just
complaining that we are unable to pick a particular commit).

However, it does the wrong thing when the rebase does not
actually need to generate any new commits (e.g., a
fast-forward with no commits to pick, or one where the base
stays the same, and we just pick the same commits without
rewriting anything). In this case it may complain about the
lack of ident, even though one would not be needed to
complete the operation.

This may seem like mere nit-picking, but because interactive
rebase underlies the "preserve-merges" rebase, somebody who
has set "pull.rebase" to "preserve" cannot make even a
fast-forward pull without a valid ident, as we bail before
even realizing the fast-forward nature.

This commit drops the extra ident check entirely. This means
we rely on individual commands that generate commit objects
to complain. So we will continue to notice and prevent cases
that actually do create commits, but with one important
difference: we fail while actually executing the "pick"
operations, and leave the rebase in a conflicted, half-done
state.

In some ways this is less convenient, but in some ways it is
more so; the user can then manually commit or even "git
rebase --continue" after setting up their ident (or
providing it as a one-off on the command line).

Reported-by: Dakota Hawkins &lt;dakotahawkins@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>rebase-interactive: trim leading whitespace from progress count</title>
<updated>2016-07-28T20:22:46Z</updated>
<author>
<name>Johannes Sixt</name>
<email>j6t@kdbg.org</email>
</author>
<published>2016-07-28T17:47:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d94975185947bd8594a4a8564ec6040e8c242b70'/>
<id>urn:sha1:d94975185947bd8594a4a8564ec6040e8c242b70</id>
<content type='text'>
Interactive rebase uses 'wc -l' to write the current patch number
in a progress report. Some implementations of 'wc -l' produce spaces
before the number, leading to ugly output such as

  Rebasing (     3/8)

Remove the spaces using a trivial arithmetic evaluation.

Before 9588c52 (i18n: rebase-interactive: mark strings for
translation) this was not a problem because printf was used to
generate the text. Since that commit, the count is interpolated
directly from a shell variable into the text, where the spaces
remain. The total number of patches does not have this problem
even though it is interpolated from a shell variable in the same
manner, because the variable is set by an arithmetic evaluation.

Later in the script, there is a virtually identical case where
leading spaces are trimmed, but it uses a pattern substitution:

todocount=$(git stripspace --strip-comments &lt;"$todo" | wc -l)
todocount=${todocount##* }

I did not choose this idiom because it adds a line of code, and
there is already an arithmetic evaluation in the vicinity of the
line that is changed here.

Signed-off-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/rebase-i-auto-unstash-upon-abort'</title>
<updated>2016-07-13T18:24:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-13T18:24:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5eb1e9f1a0df41cfc6a75cef9c2f11460a6da8dc'/>
<id>urn:sha1:5eb1e9f1a0df41cfc6a75cef9c2f11460a6da8dc</id>
<content type='text'>
"git rebase -i --autostash" did not restore the auto-stashed change
when the operation was aborted.

* ps/rebase-i-auto-unstash-upon-abort:
  rebase -i: restore autostash on abort
</content>
</entry>
<entry>
<title>Merge branch 'va/i18n-even-more'</title>
<updated>2016-07-13T18:24:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-13T18:24:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2703572b3a005848ed058d2775fb933a17ac3656'/>
<id>urn:sha1:2703572b3a005848ed058d2775fb933a17ac3656</id>
<content type='text'>
More markings of messages for i18n, with updates to various tests
to pass GETTEXT_POISON tests.

One patch from the original submission dropped due to conflicts
with jk/upload-pack-hook, which is still in flux.

* va/i18n-even-more: (38 commits)
  t5541: become resilient to GETTEXT_POISON
  i18n: branch: mark comment when editing branch description for translation
  i18n: unmark die messages for translation
  i18n: submodule: escape shell variables inside eval_gettext
  i18n: submodule: join strings marked for translation
  i18n: init-db: join message pieces
  i18n: remote: allow translations to reorder message
  i18n: remote: mark URL fallback text for translation
  i18n: standardise messages
  i18n: sequencer: add period to error message
  i18n: merge: change command option help to lowercase
  i18n: merge: mark messages for translation
  i18n: notes: mark options for translation
  i18n: notes: mark strings for translation
  i18n: transport-helper.c: change N_() call to _()
  i18n: bisect: mark strings for translation
  t5523: use test_i18ngrep for negation
  t4153: fix negated test_i18ngrep call
  t9003: become resilient to GETTEXT_POISON
  tests: unpack-trees: update to use test_i18n* functions
  ...
</content>
</entry>
</feed>
