Johannes Schindelin
74c6843f16
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 >
2017-09-26 11:01:29 +02:00
..
2017-09-10 17:03:00 +09:00
2017-09-10 17:02:51 +09:00
2017-06-24 14:28:41 -07:00
2017-07-13 12:42:51 -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-07-26 12:56:19 -07:00
2017-07-13 12:42:51 -07:00
2017-09-10 17:02:49 +09:00
2017-06-15 12:56:22 -07:00
2017-06-24 14:28:41 -07:00
2017-08-23 14:33:44 -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-07-13 16:14:54 -07:00
2017-08-23 14:33:52 -07:00
2017-07-13 12:42:51 -07:00
2017-09-10 17:02:53 +09:00
2017-07-18 12:48:10 -07:00
2017-08-23 14:33:42 -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
2017-08-23 14:33:44 -07:00
2017-07-17 14:55:21 -07:00
2017-06-23 18:27:07 -07:00
2017-06-24 14:28: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-05-08 15:12:57 +09:00
2017-09-10 17:03:02 +09: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-08-23 14:33:48 -07:00
2017-05-08 12:18:19 +09: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-09-26 11:01:29 +02: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-09-10 17:02:48 +09:00
2017-06-24 14:28:41 -07:00
2017-08-02 15:16:09 -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-13 12:42:51 -07:00
2017-06-15 12:56:22 -07:00
2017-09-10 17:02:49 +09:00
2017-06-15 12:56:22 -07:00
2017-09-10 17:02:48 +09: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-07-13 12:42:50 -07:00
2017-06-24 14:28:41 -07:00
2017-06-15 12:56:22 -07:00