<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-rebase--interactive.sh, branch v2.16.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.16.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.16.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2018-01-10T22:01:24Z</updated>
<entry>
<title>Merge branch 'js/fix-merge-arg-quoting-in-rebase-p'</title>
<updated>2018-01-10T22:01:24Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-01-10T22:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bc4efaf10306f23600649d4988eac0d4b2e216b7'/>
<id>urn:sha1:bc4efaf10306f23600649d4988eac0d4b2e216b7</id>
<content type='text'>
"git rebase -p -X&lt;option&gt;" did not propagate the option properly
down to underlying merge strategy backend.

* js/fix-merge-arg-quoting-in-rebase-p:
  rebase -p: fix quoting when calling `git merge`
</content>
</entry>
<entry>
<title>rebase -p: fix quoting when calling `git merge`</title>
<updated>2018-01-05T20:26:01Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2018-01-04T21:31:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dd6fb0053ce5b6923505e64993d8061484665962'/>
<id>urn:sha1:dd6fb0053ce5b6923505e64993d8061484665962</id>
<content type='text'>
It has been reported that strategy arguments are not passed to `git
merge` correctly when rebasing interactively, preserving merges.

The reason is that the strategy arguments are already quoted, and then
quoted again.

This fixes https://github.com/git-for-windows/git/issues/1321

Original-patch-by: Kim Gybels &lt;kgybels@infogroep.be&gt;
Also-reported-by: Matwey V. Kornilov &lt;matwey.kornilov@gmail.com&gt;
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>rebase: do not continue when the todo list generation failed</title>
<updated>2017-12-27T20:33:38Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-12-22T23:55:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9336281c692c0f3b3e1f91ac226fc2a3e0574359'/>
<id>urn:sha1:9336281c692c0f3b3e1f91ac226fc2a3e0574359</id>
<content type='text'>
This is a *really* long-standing bug. As a matter of fact, this bug has
been with us from the very beginning of `rebase -i`: 1b1dce4bae7 (Teach
rebase an interactive mode, 2007-06-25), where the output of `rev-list`
was piped to `sed` (and any failure of the `rev-list` process would go
completely undetected).

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>rebase -i -x: add exec commands via the rebase--helper</title>
<updated>2017-12-05T18:20:51Z</updated>
<author>
<name>Liam Beguin</name>
<email>liambeguin@gmail.com</email>
</author>
<published>2017-12-05T17:52:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0cce4a2756eb2c66544615e5ccd74671afb33256'/>
<id>urn:sha1:0cce4a2756eb2c66544615e5ccd74671afb33256</id>
<content type='text'>
Recent work on `git-rebase--interactive` aims to convert shell code to
C. Even if this is most likely not a big performance enhancement, let's
convert it too since a coming change to abbreviate command names
requires it to be updated.

Signed-off-by: Liam Beguin &lt;liambeguin@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ad/rebase-i-serie-typofix' into maint</title>
<updated>2017-11-21T05:05:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-11-21T05:05:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8ff22f5a88cb02a51391f7b1eb1c0e7bfc65122e'/>
<id>urn:sha1:8ff22f5a88cb02a51391f7b1eb1c0e7bfc65122e</id>
<content type='text'>
Typofix.

* ad/rebase-i-serie-typofix:
  rebase -i: fix comment typo
</content>
</entry>
<entry>
<title>Merge branch 'ad/rebase-i-serie-typofix'</title>
<updated>2017-11-15T03:14:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-11-15T03:14:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f68337d1ed3a7d15d8eb159ac475e7e3de5a571e'/>
<id>urn:sha1:f68337d1ed3a7d15d8eb159ac475e7e3de5a571e</id>
<content type='text'>
* ad/rebase-i-serie-typofix:
  rebase -i: fix comment typo
</content>
</entry>
<entry>
<title>rebase -i: fix comment typo</title>
<updated>2017-11-09T03:32:25Z</updated>
<author>
<name>Adam Dinwoodie</name>
<email>adam@dinwoodie.org</email>
</author>
<published>2017-11-08T13:20:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3dc5433fd5c68f7e31038061b0d038560b6c0363'/>
<id>urn:sha1:3dc5433fd5c68f7e31038061b0d038560b6c0363</id>
<content type='text'>
Signed-off-by: Adam Dinwoodie &lt;adam@dinwoodie.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/rebase-i-final'</title>
<updated>2017-10-03T06:42:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-10-03T06:42:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5f3108b7b6720ae3ce61caa1a3684b9fcac5c8db'/>
<id>urn:sha1:5f3108b7b6720ae3ce61caa1a3684b9fcac5c8db</id>
<content type='text'>
The final batch to "git rebase -i" updates to move more code from
the shell script to C.

* js/rebase-i-final:
  rebase -i: rearrange fixup/squash lines using the rebase--helper
  t3415: test fixup with wrapped oneline
  rebase -i: skip unnecessary picks using the rebase--helper
  rebase -i: check for missing commits in the rebase--helper
  t3404: relax rebase.missingCommitsCheck tests
  rebase -i: also expand/collapse the SHA-1s via the rebase--helper
  rebase -i: do not invent onelines when expanding/collapsing SHA-1s
  rebase -i: remove useless indentation
  rebase -i: generate the script via rebase--helper
  t3415: verify that an empty instructionFormat is handled as before
</content>
</entry>
<entry>
<title>rebase -i: honor --rerere-autoupdate</title>
<updated>2017-08-02T22:16:09Z</updated>
<author>
<name>Phillip Wood</name>
<email>phillip.wood@dunelm.org.uk</email>
</author>
<published>2017-08-02T10:44:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9b6d7a6245e3be34a50a94a1174d8aebf5b1a263'/>
<id>urn:sha1:9b6d7a6245e3be34a50a94a1174d8aebf5b1a263</id>
<content type='text'>
Interactive rebase was ignoring '--rerere-autoupdate'. Fix this by
reading it appropriate file when restoring the sequencer state for an
interactive rebase and passing '--rerere-autoupdate' to merge and
cherry-pick when rebasing with '--preserve-merges'.

Reported-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Phillip Wood &lt;phillip.wood@dunelm.org.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rebase -i: rearrange fixup/squash lines using the rebase--helper</title>
<updated>2017-07-27T22:35:06Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-07-14T14:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c44a4c650c66eb7b8d50c57fd4e1bff1add7bf77'/>
<id>urn:sha1:c44a4c650c66eb7b8d50c57fd4e1bff1add7bf77</id>
<content type='text'>
This operation has quadratic complexity, which is especially painful
on Windows, where shell scripts are *already* slow (mainly due to the
overhead of the POSIX emulation layer).

Let's reimplement this with linear complexity (using a hash map to
match the commits' subject lines) for the common case; Sadly, the
fixup/squash feature's design neglected performance considerations,
allowing arbitrary prefixes (read: `fixup! hell` will match the
commit subject `hello world`), which means that we are stuck with
quadratic performance in the worst case.

The reimplemented logic also happens to fix a bug where commented-out
lines (representing empty patches) were dropped by the previous code.

While at it, clarify how the fixup/squash feature works in `git rebase
-i`'s man page.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
