Johannes Schindelin
c44a4c650c
rebase -i: rearrange fixup/squash lines using the rebase--helper
...
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 <johannes.schindelin@gmx.de >
Signed-off-by: Junio C Hamano <gitster@pobox.com >
2017-07-27 15:35:06 -07:00
..
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2016-09-07 12:59:42 -07:00
2016-11-22 13:55:20 -08:00
2017-06-24 14:28:41 -07:00
2017-07-12 15:18:23 -07:00
2017-03-21 11:18:41 -07:00
2017-07-05 13:32:57 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-07-10 13:42:51 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-05-30 14:45:03 +09:00
2017-07-13 16:14:54 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 15:29:31 -07:00
2017-06-24 14:28:41 -07:00
2017-06-30 12:49:28 -07:00
2017-06-30 12:49:28 -07:00
2017-03-31 08:33:56 -07:00
2017-07-13 16:14:54 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-07-05 13:32:56 -07:00
2017-07-18 12:48:10 -07:00
2017-07-13 16:14:54 -07:00
2017-06-15 12:56:22 -07:00
2017-06-15 12:56:22 -07:00
2017-07-05 13:32:57 -07:00
2017-06-15 12:56:22 -07:00
2016-06-13 10:37:48 -07:00
2017-07-12 15:18:23 -07:00
2017-06-24 14:28:41 -07:00
2017-06-23 18:27:07 -07:00
2017-06-24 14:28:41 -07:00
2017-03-21 11:18:41 -07:00
2017-05-08 12:18:19 +09:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-03-26 22:08:21 -07:00
2016-09-15 13:17:32 -07:00
2017-05-08 15:12:57 +09:00
2017-06-24 14:28:41 -07:00
2017-05-08 12:18:19 +09:00
2017-06-15 12:56:22 -07:00
2017-07-10 13:42:51 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-05-08 12:18:19 +09:00
2017-04-14 03:53:25 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 11:09:52 -07:00
2017-07-05 13:32:56 -07:00
2017-07-13 16:14:54 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-07-27 15:35:06 -07:00
2017-07-12 15:18:23 -07:00
2017-07-10 13:42:51 -07:00
2017-05-30 14:45:04 +09:00
2017-05-30 14:45:04 +09:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-07-10 13:42:51 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-06-15 12:56:22 -07:00
2017-07-10 13:42:51 -07:00
2017-01-23 18:51:56 -08:00
2017-06-15 12:56:22 -07:00
2017-07-10 13:59:09 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-06-15 12:56:22 -07:00
2017-05-30 14:45:04 +09:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00