Johannes Schindelin
d9c66f0b5b
range-diff: first rudimentary implementation
...
At this stage, `git range-diff` can determine corresponding commits
of two related commit ranges. This makes use of the recently introduced
implementation of the linear assignment algorithm.
The core of this patch is a straight port of the ideas of tbdiff, the
apparently dormant project at https://github.com/trast/tbdiff .
The output does not at all match `tbdiff`'s output yet, as this patch
really concentrates on getting the patch matching part right.
Note: due to differences in the diff algorithm (`tbdiff` uses the Python
module `difflib`, Git uses its xdiff fork), the cost matrix calculated
by `range-diff` is different (but very similar) to the one calculated
by `tbdiff`. Therefore, it is possible that they find different matching
commits in corner cases (e.g. when a patch was split into two patches of
roughly equal length).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de >
Signed-off-by: Junio C Hamano <gitster@pobox.com >
2018-08-13 10:44:50 -07:00
..
2018-05-30 14:04:05 +09:00
2018-08-02 15:30:45 -07:00
2017-10-06 10:07:18 +09:00
2018-02-08 12:37:30 -08:00
2017-11-13 10:51:14 +09:00
2018-08-02 15:30:41 -07:00
2018-08-02 15:30:42 -07:00
2018-07-18 12:20:28 -07:00
2017-06-15 12:56:22 -07:00
2018-02-12 13:09:35 -08:00
2017-06-15 12:56:22 -07:00
2017-11-15 12:04:57 +09:00
2018-02-09 10:24:50 -08:00
2018-08-02 15:30:43 -07:00
2018-05-29 14:51:28 +09:00
2018-08-02 15:30:42 -07:00
2018-05-13 10:45:05 +09:00
2018-07-17 15:47:48 -07:00
2018-06-29 10:43:39 -07:00
2018-07-18 12:20:28 -07:00
2018-07-24 14:50:46 -07:00
2018-05-02 13:59:49 +09:00
2017-05-30 14:45:03 +09:00
2018-07-18 12:20:28 -07:00
2017-08-03 13:11:02 -07:00
2017-10-07 16:27:55 +09:00
2018-06-29 10:43:39 -07:00
2018-06-29 10:43:39 -07:00
2018-08-02 15:30:43 -07:00
2018-07-18 12:20:28 -07:00
2018-05-08 15:59:16 +09:00
2018-08-02 15:30:43 -07:00
2018-08-02 15:30:42 -07:00
2017-10-04 11:35:29 +09:00
2018-08-02 15:30:42 -07:00
2018-08-02 15:30:43 -07:00
2017-09-27 15:45:24 +09:00
2018-08-02 15:30:44 -07:00
2018-07-18 12:20:28 -07:00
2018-06-01 15:06:37 +09:00
2018-06-29 10:43:38 -07:00
2018-06-01 15:06:40 +09:00
2017-08-26 22:55:04 -07:00
2018-08-02 15:30:42 -07:00
2018-06-01 15:06:38 +09:00
2018-05-23 14:38:15 +09:00
2018-05-16 11:42:03 +09:00
2017-05-08 12:18:19 +09:00
2018-06-29 10:43:39 -07:00
2017-06-15 12:56:22 -07:00
2017-11-09 14:31:27 +09:00
2018-07-16 14:27:39 -07:00
2018-07-18 12:20:28 -07:00
2018-08-02 15:30:44 -07:00
2018-05-16 11:42:03 +09:00
2018-05-16 11:42:03 +09:00
2018-05-30 14:04:05 +09:00
2018-06-29 10:43:39 -07:00
2018-07-18 12:20:28 -07:00
2018-08-02 15:30:42 -07:00
2018-05-02 13:59:50 +09:00
2018-04-12 11:38:56 +09:00
2017-06-15 12:56:22 -07:00
2018-05-02 13:59:49 +09:00
2018-06-29 10:43:38 -07:00
2018-07-18 12:20:28 -07:00
2018-05-18 06:19:44 +09:00
2018-08-13 10:44:50 -07:00
2018-05-10 14:55:40 +09:00
2018-04-26 12:28:43 +09:00
2018-08-02 15:30:42 -07:00
2018-07-18 12:20:28 -07:00
2017-09-22 12:49:57 +09:00
2017-05-30 14:45:04 +09:00
2018-07-18 12:20:28 -07:00
2018-04-16 13:52:29 +09:00
2018-07-18 12:20:28 -07:00
2017-09-14 15:17:59 +09:00
2018-08-02 15:30:43 -07:00
2018-08-02 15:30:42 -07:00
2018-07-18 12:20:28 -07:00
2017-12-13 11:15:14 -08:00
2018-05-30 14:04:05 +09:00
2018-06-28 12:53:30 -07:00
2018-03-15 12:01:08 -07:00
2018-04-10 16:28:20 +09:00
2018-06-29 10:43:39 -07:00
2018-05-29 00:28:22 +09:00
2018-05-16 11:42:03 +09:00
2017-06-15 12:56:22 -07:00
2018-07-18 12:20:31 -07:00
2017-11-06 10:31:08 +09:00
2018-07-18 12:20:28 -07:00
2018-05-16 11:42:03 +09:00
2018-07-18 12:20:28 -07:00
2018-08-02 15:30:43 -07:00
2018-06-04 12:26:01 +09:00
2018-02-09 10:24:50 -08:00
2017-05-30 14:45:04 +09:00
2018-05-08 15:59:16 +09:00
2017-06-15 12:56:22 -07:00
2018-06-29 10:43:39 -07:00
2017-06-15 12:56:22 -07:00
2018-04-09 06:14:45 +09:00
2018-06-11 09:41:01 -07:00
2018-03-14 09:23:47 -07:00