From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH v6 17/21] range-diff: populate the man page
Date: Mon, 13 Aug 2018 04:33:25 -0700 (PDT) [thread overview]
Message-ID: <8c5543a0667fffe0cb0684427f726fdfb75b28d0.1534159977.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1.v6.git.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>
The bulk of this patch consists of a heavily butchered version of
tbdiff's README written by Thomas Rast and Thomas Gummerer, lifted from
https://github.com/trast/tbdiff.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Documentation/git-range-diff.txt | 229 +++++++++++++++++++++++++++++++
1 file changed, 229 insertions(+)
diff --git a/Documentation/git-range-diff.txt b/Documentation/git-range-diff.txt
index 49f717db8..bebb47d42 100644
--- a/Documentation/git-range-diff.txt
+++ b/Documentation/git-range-diff.txt
@@ -5,6 +5,235 @@ NAME
----
git-range-diff - Compare two commit ranges (e.g. two versions of a branch)
+SYNOPSIS
+--------
+[verse]
+'git range-diff' [--color=[<when>]] [--no-color] [<diff-options>]
+ [--dual-color] [--creation-factor=<factor>]
+ ( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> )
+
+DESCRIPTION
+-----------
+
+This command shows the differences between two versions of a patch
+series, or more generally, two commit ranges (ignoring merge commits).
+
+To that end, it first finds pairs of commits from both commit ranges
+that correspond with each other. Two commits are said to correspond when
+the diff between their patches (i.e. the author information, the commit
+message and the commit diff) is reasonably small compared to the
+patches' size. See ``Algorithm`` below for details.
+
+Finally, the list of matching commits is shown in the order of the
+second commit range, with unmatched commits being inserted just after
+all of their ancestors have been shown.
+
+
+OPTIONS
+-------
+--dual-color::
+ When the commit diffs differ, recreate the original diffs'
+ coloring, and add outer -/+ diff markers with the *background*
+ being red/green to make it easier to see e.g. when there was a
+ change in what exact lines were added.
+
+--creation-factor=<percent>::
+ Set the creation/deletion cost fudge factor to `<percent>`.
+ Defaults to 60. Try a larger value if `git range-diff` erroneously
+ considers a large change a total rewrite (deletion of one commit
+ and addition of another), and a smaller one in the reverse case.
+ See the ``Algorithm`` section below for an explanation why this is
+ needed.
+
+<range1> <range2>::
+ Compare the commits specified by the two ranges, where
+ `<range1>` is considered an older version of `<range2>`.
+
+<rev1>...<rev2>::
+ Equivalent to passing `<rev2>..<rev1>` and `<rev1>..<rev2>`.
+
+<base> <rev1> <rev2>::
+ Equivalent to passing `<base>..<rev1>` and `<base>..<rev2>`.
+ Note that `<base>` does not need to be the exact branch point
+ of the branches. Example: after rebasing a branch `my-topic`,
+ `git range-diff my-topic@{u} my-topic@{1} my-topic` would
+ show the differences introduced by the rebase.
+
+`git range-diff` also accepts the regular diff options (see
+linkgit:git-diff[1]), most notably the `--color=[<when>]` and
+`--no-color` options. These options are used when generating the "diff
+between patches", i.e. to compare the author, commit message and diff of
+corresponding old/new commits. There is currently no means to tweak the
+diff options passed to `git log` when generating those patches.
+
+
+CONFIGURATION
+-------------
+This command uses the `diff.color.*` and `pager.range-diff` settings
+(the latter is on by default).
+See linkgit:git-config[1].
+
+
+EXAMPLES
+--------
+
+When a rebase required merge conflicts to be resolved, compare the changes
+introduced by the rebase directly afterwards using:
+
+------------
+$ git range-diff @{u} @{1} @
+------------
+
+
+A typical output of `git range-diff` would look like this:
+
+------------
+-: ------- > 1: 0ddba11 Prepare for the inevitable!
+1: c0debee = 2: cab005e Add a helpful message at the start
+2: f00dbal ! 3: decafe1 Describe a bug
+ @@ -1,3 +1,3 @@
+ Author: A U Thor <author@example.com>
+
+ -TODO: Describe a bug
+ +Describe a bug
+ @@ -324,5 +324,6
+ This is expected.
+
+ -+What is unexpected is that it will also crash.
+ ++Unexpectedly, it also crashes. This is a bug, and the jury is
+ ++still out there how to fix it best. See ticket #314 for details.
+
+ Contact
+3: bedead < -: ------- TO-UNDO
+------------
+
+In this example, there are 3 old and 3 new commits, where the developer
+removed the 3rd, added a new one before the first two, and modified the
+commit message of the 2nd commit as well its diff.
+
+When the output goes to a terminal, it is color-coded by default, just
+like regular `git diff`'s output. In addition, the first line (adding a
+commit) is green, the last line (deleting a commit) is red, the second
+line (with a perfect match) is yellow like the commit header of `git
+show`'s output, and the third line colors the old commit red, the new
+one green and the rest like `git show`'s commit header.
+
+The color-coded diff is actually a bit hard to read, though, as it
+colors the entire lines red or green. The line that added "What is
+unexpected" in the old commit, for example, is completely red, even if
+the intent of the old commit was to add something.
+
+To help with that, use the `--dual-color` mode. In this mode, the diff
+of diffs will retain the original diff colors, and prefix the lines with
+-/+ markers that have their *background* red or green, to make it more
+obvious that they describe how the diff itself changed.
+
+
+Algorithm
+---------
+
+The general idea is this: we generate a cost matrix between the commits
+in both commit ranges, then solve the least-cost assignment.
+
+The cost matrix is populated thusly: for each pair of commits, both
+diffs are generated and the "diff of diffs" is generated, with 3 context
+lines, then the number of lines in that diff is used as cost.
+
+To avoid false positives (e.g. when a patch has been removed, and an
+unrelated patch has been added between two iterations of the same patch
+series), the cost matrix is extended to allow for that, by adding
+fixed-cost entries for wholesale deletes/adds.
+
+Example: Let commits `1--2` be the first iteration of a patch series and
+`A--C` the second iteration. Let's assume that `A` is a cherry-pick of
+`2,` and `C` is a cherry-pick of `1` but with a small modification (say,
+a fixed typo). Visualize the commits as a bipartite graph:
+
+------------
+ 1 A
+
+ 2 B
+
+ C
+------------
+
+We are looking for a "best" explanation of the new series in terms of
+the old one. We can represent an "explanation" as an edge in the graph:
+
+
+------------
+ 1 A
+ /
+ 2 --------' B
+
+ C
+------------
+
+This explanation comes for "free" because there was no change. Similarly
+`C` could be explained using `1`, but that comes at some cost c>0
+because of the modification:
+
+------------
+ 1 ----. A
+ | /
+ 2 ----+---' B
+ |
+ `----- C
+ c>0
+------------
+
+In mathematical terms, what we are looking for is some sort of a minimum
+cost bipartite matching; `1` is matched to `C` at some cost, etc. The
+underlying graph is in fact a complete bipartite graph; the cost we
+associate with every edge is the size of the diff between the two
+commits' patches. To explain also new commits, we introduce dummy nodes
+on both sides:
+
+------------
+ 1 ----. A
+ | /
+ 2 ----+---' B
+ |
+ o `----- C
+ c>0
+ o o
+
+ o o
+------------
+
+The cost of an edge `o--C` is the size of `C`'s diff, modified by a
+fudge factor that should be smaller than 100%. The cost of an edge
+`o--o` is free. The fudge factor is necessary because even if `1` and
+`C` have nothing in common, they may still share a few empty lines and
+such, possibly making the assignment `1--C`, `o--o` slightly cheaper
+than `1--o`, `o--C` even if `1` and `C` have nothing in common. With the
+fudge factor we require a much larger common part to consider patches as
+corresponding.
+
+The overall time needed to compute this algorithm is the time needed to
+compute n+m commit diffs and then n*m diffs of patches, plus the time
+needed to compute the least-cost assigment between n and m diffs. Git
+uses an implementation of the Jonker-Volgenant algorithm to solve the
+assignment problem, which has cubic runtime complexity. The matching
+found in this case will look like this:
+
+------------
+ 1 ----. A
+ | /
+ 2 ----+---' B
+ .--+-----'
+ o -' `----- C
+ c>0
+ o ---------- o
+
+ o ---------- o
+------------
+
+
+SEE ALSO
+--------
+linkgit:git-log[1]
+
GIT
---
Part of the linkgit:git[1] suite
--
gitgitgadget
next prev parent reply other threads:[~2018-08-13 11:33 UTC|newest]
Thread overview: 387+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-03 15:30 [PATCH 00/18] Add `branch-diff`, a `tbdiff` lookalike Johannes Schindelin
2018-05-03 15:30 ` [PATCH 01/18] Add a function to solve least-cost assignment problems Johannes Schindelin
2018-05-13 18:19 ` Duy Nguyen
2018-05-21 9:52 ` Johannes Schindelin
2018-05-03 15:30 ` [PATCH 02/18] Add a new builtin: branch-diff Johannes Schindelin
2018-05-03 16:10 ` Ramsay Jones
2018-05-03 20:25 ` Johannes Schindelin
2018-05-03 23:20 ` Ramsay Jones
2018-05-04 6:40 ` Johannes Schindelin
2018-05-04 15:37 ` Ramsay Jones
2018-05-05 19:41 ` Johannes Schindelin
2018-05-09 16:24 ` Ramsay Jones
2018-06-01 8:23 ` Johannes Schindelin
2018-05-04 16:34 ` Elijah Newren
2018-05-05 20:24 ` Johannes Schindelin
2018-05-03 16:41 ` Duy Nguyen
2018-05-03 20:30 ` Johannes Schindelin
2018-05-03 20:32 ` Johannes Schindelin
2018-05-04 5:15 ` Duy Nguyen
2018-05-04 7:23 ` Johannes Schindelin
2018-05-04 14:44 ` Duy Nguyen
2018-05-04 15:17 ` Duy Nguyen
2018-05-04 15:23 ` Johannes Schindelin
2018-05-04 15:29 ` Duy Nguyen
2018-05-03 16:43 ` Stefan Beller
2018-05-03 20:42 ` Johannes Schindelin
2018-05-03 21:12 ` Stefan Beller
2018-05-03 21:49 ` Johannes Schindelin
2018-05-04 3:23 ` Junio C Hamano
2018-05-04 2:35 ` Eric Sunshine
2018-05-04 6:52 ` Johannes Schindelin
2018-05-04 7:27 ` Eric Sunshine
2018-05-03 15:30 ` [PATCH 03/18] branch-diff: first rudimentary implementation Johannes Schindelin
2018-05-03 16:30 ` Ramsay Jones
2018-05-03 20:44 ` Johannes Schindelin
2018-05-03 17:06 ` Stefan Beller
2018-05-03 21:01 ` Johannes Schindelin
2018-05-03 21:19 ` Stefan Beller
2018-05-03 22:00 ` Johannes Schindelin
2018-05-04 2:35 ` Eric Sunshine
2018-05-04 7:03 ` Johannes Schindelin
2018-05-04 4:56 ` Junio C Hamano
2018-05-04 7:18 ` Johannes Schindelin
2018-05-03 15:30 ` [PATCH 04/18] branch-diff: improve the order of the shown commits Johannes Schindelin
2018-05-03 15:30 ` [PATCH 05/18] branch-diff: also show the diff between patches Johannes Schindelin
2018-05-04 2:51 ` Eric Sunshine
2018-05-04 3:15 ` Eric Sunshine
2018-05-04 7:15 ` Johannes Schindelin
2018-05-03 15:30 ` [PATCH 06/18] branch-diff: right-trim commit messages Johannes Schindelin
2018-05-03 15:30 ` [PATCH 07/18] branch-diff: indent the diffs just like tbdiff Johannes Schindelin
2018-05-03 15:30 ` [PATCH 08/18] branch-diff: suppress the diff headers Johannes Schindelin
2018-05-03 15:30 ` [PATCH 09/18] branch-diff: adjust the output of the commit pairs Johannes Schindelin
2018-05-03 15:30 ` [PATCH 10/18] branch-diff: do not show "function names" in hunk headers Johannes Schindelin
2018-05-03 15:30 ` [PATCH 11/18] branch-diff: add tests Johannes Schindelin
2018-05-03 16:56 ` Ævar Arnfjörð Bjarmason
2018-05-03 21:03 ` Johannes Schindelin
2018-05-03 17:11 ` Stefan Beller
2018-05-03 21:05 ` Johannes Schindelin
2018-05-03 23:27 ` Philip Oakley
2018-05-04 6:42 ` Johannes Schindelin
2018-05-03 15:30 ` [PATCH 12/18] branch-diff: use color for the commit pairs Johannes Schindelin
2018-05-03 15:30 ` [PATCH 13/18] color: provide inverted colors, too Johannes Schindelin
2018-05-03 15:30 ` [PATCH 14/18] diff: add an internal option to dual-color diffs of diffs Johannes Schindelin
2018-05-03 15:31 ` [PATCH 15/18] branch-diff: offer to dual-color the diffs Johannes Schindelin
2018-05-03 15:31 ` [PATCH 16/18] branch-diff --dual-color: work around bogus white-space warning Johannes Schindelin
2018-05-03 15:31 ` [PATCH 17/18] branch-diff: add a man page Johannes Schindelin
2018-05-04 3:27 ` Eric Sunshine
2018-05-04 7:17 ` Johannes Schindelin
2018-05-03 15:31 ` [PATCH 18/18] completion: support branch-diff Johannes Schindelin
2018-05-03 18:05 ` [PATCH 00/18] Add `branch-diff`, a `tbdiff` lookalike Ævar Arnfjörð Bjarmason
2018-05-03 21:07 ` Johannes Schindelin
2018-05-03 21:50 ` Jacob Keller
2018-05-04 5:24 ` Junio C Hamano
2018-05-04 7:24 ` Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 " Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 01/18] Add a function to solve least-cost assignment problems Johannes Schindelin
2018-05-05 18:24 ` Jeff King
2018-05-05 21:55 ` Johannes Schindelin
2018-05-30 13:55 ` SZEDER Gábor
2018-05-30 16:14 ` Stefan Beller
2018-05-30 23:28 ` brian m. carlson
2018-05-31 12:19 ` Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 02/18] Add a new builtin: branch-diff Johannes Schindelin
2018-05-05 18:26 ` Jeff King
2018-05-05 21:57 ` Johannes Schindelin
2018-05-06 0:25 ` Todd Zullinger
2018-05-06 0:38 ` Todd Zullinger
2018-05-06 12:04 ` Johannes Schindelin
2018-05-06 1:05 ` Igor Djordjevic
2018-05-06 4:53 ` Jacob Keller
2018-05-06 8:32 ` Duy Nguyen
2018-05-06 12:08 ` Johannes Schindelin
2018-05-06 12:10 ` Johannes Schindelin
2018-05-06 13:37 ` Igor Djordjevic
2018-05-07 1:34 ` Johannes Schindelin
2018-05-07 22:05 ` Igor Djordjevic
2018-05-07 22:24 ` Stefan Beller
2018-05-07 23:39 ` Igor Djordjevic
2018-05-08 3:44 ` Jeff King
2018-05-08 3:48 ` Jeff King
2018-05-22 11:38 ` Ævar Arnfjörð Bjarmason
2018-05-25 22:06 ` Stefan Beller
[not found] ` <CAA8fPEkNjy+ETz4Mx+C2kUfLjLzR9uuOmO3GfN48ZH1SwyfE1A@mail.gmail.com>
2018-05-26 6:15 ` Fwd: " Øyvind Rønningstad
2018-06-01 8:15 ` Johannes Schindelin
2018-05-06 2:33 ` Junio C Hamano
2018-05-06 12:21 ` Johannes Schindelin
2018-05-06 20:51 ` Eric Sunshine
2018-05-07 2:04 ` Johannes Schindelin
2018-05-07 7:48 ` Jeff King
2018-05-07 21:33 ` Igor Djordjevic
2018-05-21 10:33 ` Johannes Schindelin
2018-05-21 17:56 ` Stefan Beller
2018-05-21 20:24 ` Jeff King
2018-05-21 21:40 ` Brandon Williams
2018-05-21 21:48 ` Stefan Beller
2018-05-21 21:52 ` Jeff King
2018-05-22 2:08 ` Junio C Hamano
2018-05-08 0:30 ` Junio C Hamano
2018-05-07 1:45 ` Junio C Hamano
2018-05-07 5:39 ` Johannes Schindelin
2018-05-07 15:12 ` Junio C Hamano
2018-05-21 10:41 ` Johannes Schindelin
2018-05-07 7:50 ` Jeff King
2018-05-07 15:28 ` Duy Nguyen
2018-05-07 19:58 ` Stefan Beller
2018-05-04 15:34 ` [PATCH v2 03/18] branch-diff: first rudimentary implementation Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 04/18] branch-diff: improve the order of the shown commits Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 05/18] branch-diff: also show the diff between patches Johannes Schindelin
2018-05-06 1:14 ` Igor Djordjevic
2018-05-06 12:18 ` Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 06/18] branch-diff: right-trim commit messages Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 07/18] branch-diff: indent the diffs just like tbdiff Johannes Schindelin
2018-05-06 14:15 ` Martin Ågren
2018-05-07 1:54 ` Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 08/18] branch-diff: suppress the diff headers Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 09/18] branch-diff: adjust the output of the commit pairs Johannes Schindelin
2018-05-04 16:25 ` Elijah Newren
2018-05-04 15:34 ` [PATCH v2 10/18] branch-diff: do not show "function names" in hunk headers Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 11/18] branch-diff: add tests Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 12/18] branch-diff: use color for the commit pairs Johannes Schindelin
2018-05-05 23:48 ` Todd Zullinger
2018-05-07 1:52 ` Johannes Schindelin
2018-05-08 2:10 ` Todd Zullinger
2018-06-01 8:17 ` Johannes Schindelin
2018-05-04 15:34 ` [PATCH v2 13/18] color: provide inverted colors, too Johannes Schindelin
2018-05-05 18:29 ` Jeff King
2018-05-05 22:03 ` Johannes Schindelin
2018-05-06 6:35 ` Jeff King
2018-05-06 6:41 ` Jeff King
2018-05-07 1:20 ` Johannes Schindelin
2018-05-07 7:37 ` Jeff King
2018-05-07 1:35 ` Junio C Hamano
2018-05-07 5:38 ` Johannes Schindelin
2018-05-07 7:40 ` Jeff King
2018-05-04 15:34 ` [PATCH v2 14/18] diff: add an internal option to dual-color diffs of diffs Johannes Schindelin
2018-05-04 15:35 ` [PATCH v2 15/18] branch-diff: offer to dual-color the diffs Johannes Schindelin
2018-05-04 15:35 ` [PATCH v2 16/18] branch-diff --dual-color: work around bogus white-space warning Johannes Schindelin
2018-05-04 15:35 ` [PATCH v2 17/18] branch-diff: add a man page Johannes Schindelin
2018-05-04 15:35 ` [PATCH v2 18/18] completion: support branch-diff Johannes Schindelin
2018-05-06 8:24 ` Duy Nguyen
2018-05-07 1:23 ` Johannes Schindelin
2018-05-04 16:21 ` [PATCH v2 00/18] Add `branch-diff`, a `tbdiff` lookalike Elijah Newren
2018-05-04 16:30 ` Elijah Newren
2018-05-05 20:03 ` Johannes Schindelin
2018-05-07 17:07 ` Elijah Newren
2018-05-07 17:50 ` SZEDER Gábor
2018-05-07 18:38 ` Elijah Newren
2018-05-06 5:22 ` Junio C Hamano
2018-05-06 12:23 ` Johannes Schindelin
2018-05-06 22:56 ` brian m. carlson
2018-05-07 2:05 ` Johannes Schindelin
2018-07-03 11:26 ` [PATCH v3 00/20] Add `range-diff`, " Johannes Schindelin via GitGitGadget
2018-04-30 21:54 ` [PATCH v3 01/20] linear-assignment: a function to solve least-cost assignment problems Johannes Schindelin via GitGitGadget
2018-07-06 22:43 ` Junio C Hamano
2018-07-07 11:34 ` Johannes Schindelin
2018-07-07 16:34 ` Junio C Hamano
2018-07-07 19:27 ` Johannes Schindelin
2018-07-07 22:23 ` Johannes Schindelin
2018-07-09 22:08 ` refs/notes/amlog problems, was " Johannes Schindelin
2018-07-11 16:12 ` Junio C Hamano
2018-07-12 15:23 ` Johannes Schindelin
2018-07-12 16:59 ` Junio C Hamano
2018-07-19 17:06 ` Junio C Hamano
2018-07-20 18:51 ` Johannes Schindelin
2018-07-20 19:34 ` Junio C Hamano
2018-07-20 21:20 ` Stefan Beller
2018-07-20 21:24 ` Junio C Hamano
[not found] ` <CAPc5daW-KoyUX3i7M5YbdQC2mFKAmVBS42-XT84hpm30VFcZ1g@mail.gmail.com>
2018-07-20 21:30 ` Stefan Beller
2018-07-21 22:02 ` Johannes Schindelin
2018-07-21 21:56 ` Johannes Schindelin
2018-07-23 1:25 ` Jeff King
2018-07-24 1:50 ` Junio C Hamano
2018-07-24 9:45 ` Jeff King
2018-07-09 22:23 ` Junio C Hamano
2018-07-10 10:47 ` refs/notes/amlog woes, was " Johannes Schindelin
2018-07-11 10:07 ` SZEDER Gábor
2018-07-12 15:11 ` Johannes Schindelin
2018-05-01 19:42 ` [PATCH v3 02/20] Introduce `range-diff` to compare iterations of a topic branch Johannes Schindelin via GitGitGadget
2018-05-02 0:34 ` [PATCH v3 03/20] range-diff: first rudimentary implementation Johannes Schindelin via GitGitGadget
2018-07-16 6:55 ` Eric Sunshine
2018-07-17 9:53 ` Johannes Schindelin
2018-05-02 10:22 ` [PATCH v3 04/20] range-diff: improve the order of the shown commits Johannes Schindelin via GitGitGadget
2018-05-02 14:49 ` [PATCH v3 06/20] range-diff: right-trim commit messages Johannes Schindelin via GitGitGadget
2018-05-02 14:52 ` [PATCH v3 07/20] range-diff: indent the diffs just like tbdiff Johannes Schindelin via GitGitGadget
2018-05-02 14:53 ` [PATCH v3 08/20] range-diff: suppress the diff headers Johannes Schindelin via GitGitGadget
2018-05-02 15:19 ` [PATCH v3 11/20] range-diff: add tests Thomas Rast via GitGitGadget
2018-07-16 7:28 ` Eric Sunshine
2018-07-17 16:28 ` Johannes Schindelin
2018-05-02 21:35 ` [PATCH v3 09/20] range-diff: adjust the output of the commit pairs Johannes Schindelin via GitGitGadget
2018-07-16 7:21 ` Eric Sunshine
2018-07-17 16:24 ` Johannes Schindelin
2018-07-17 17:47 ` Stefan Beller
2018-07-20 18:57 ` Johannes Schindelin
2018-07-20 19:16 ` Stefan Beller
2018-07-21 22:07 ` Johannes Schindelin
2018-05-02 23:32 ` [PATCH v3 12/20] range-diff: use color for " Johannes Schindelin via GitGitGadget
2018-05-03 0:14 ` [PATCH v3 13/20] color: add the meta color GIT_COLOR_REVERSE Johannes Schindelin via GitGitGadget
2018-05-03 0:17 ` [PATCH v3 14/20] diff: add an internal option to dual-color diffs of diffs Johannes Schindelin via GitGitGadget
2018-07-09 19:29 ` Stefan Beller
2018-07-10 17:45 ` [PATCH 0/2] " Stefan Beller
2018-07-10 17:45 ` [PATCH 1/2] diff.c: convert emit_line_ws_markup to take string for sign Stefan Beller
2018-07-10 17:45 ` [PATCH 2/2] WIP diff.c: clarify emit_line_0 Stefan Beller
2018-07-10 19:58 ` [PATCH 1/2] diff.c: convert emit_line_ws_markup to take string for sign Stefan Beller
2018-07-10 19:59 ` [PATCH] diff.c: clarify emit_line_0 Stefan Beller
2018-07-10 21:54 ` [PATCH] ws: do not reset and set color twice Stefan Beller
2018-07-21 21:13 ` [PATCH 0/2] Re: [PATCH v3 14/20] diff: add an internal option to dual-color diffs of diffs Johannes Schindelin
2018-05-03 1:01 ` [PATCH v3 15/20] range-diff: offer to dual-color the diffs Johannes Schindelin via GitGitGadget
2018-05-03 1:11 ` [PATCH v3 16/20] range-diff --dual-color: work around bogus white-space warning Johannes Schindelin via GitGitGadget
2018-07-09 19:34 ` Stefan Beller
2018-07-09 21:02 ` Junio C Hamano
2018-07-10 10:08 ` Johannes Schindelin
2018-07-10 15:50 ` Junio C Hamano
2018-07-10 16:32 ` Stefan Beller
2018-07-21 21:44 ` Johannes Schindelin
2018-05-03 13:50 ` [PATCH v3 17/20] range-diff: add a man page Johannes Schindelin via GitGitGadget
2018-07-09 18:20 ` Stefan Beller
2018-07-09 20:00 ` Johannes Schindelin
2018-07-09 20:25 ` Stefan Beller
2018-07-09 20:38 ` Johannes Schindelin
2018-07-16 8:01 ` Eric Sunshine
2018-07-17 16:39 ` Johannes Schindelin
2018-05-03 14:44 ` [PATCH v3 18/20] completion: support `git range-diff` Johannes Schindelin via GitGitGadget
2018-07-06 22:46 ` Junio C Hamano
2018-07-07 11:38 ` Johannes Schindelin
2018-05-05 19:52 ` [PATCH v3 19/20] range-diff: left-pad patch numbers Johannes Schindelin via GitGitGadget
2018-05-06 15:26 ` [PATCH v3 05/20] range-diff: also show the diff between patches Johannes Schindelin via GitGitGadget
2018-05-06 15:35 ` [PATCH v3 10/20] range-diff: do not show "function names" in hunk headers Johannes Schindelin via GitGitGadget
2018-06-30 20:41 ` [PATCH v3 20/20] range-diff: make --dual-color the default mode Johannes Schindelin via GitGitGadget
2018-07-16 8:06 ` Eric Sunshine
2018-07-17 16:40 ` Johannes Schindelin
2018-07-21 22:04 ` [PATCH v4 00/21] Add `range-diff`, a `tbdiff` lookalike Johannes Schindelin via GitGitGadget
2018-07-21 22:04 ` [PATCH v4 01/21] linear-assignment: a function to solve least-cost assignment problems Johannes Schindelin via GitGitGadget
2018-07-28 8:46 ` Thomas Gummerer
2018-07-30 15:59 ` Johannes Schindelin
2018-07-21 22:04 ` [PATCH v4 02/21] Introduce `range-diff` to compare iterations of a topic branch Johannes Schindelin via GitGitGadget
2018-07-21 22:04 ` [PATCH v4 03/21] range-diff: first rudimentary implementation Johannes Schindelin via GitGitGadget
2018-07-29 18:36 ` Thomas Gummerer
2018-07-30 16:21 ` Johannes Schindelin
2018-07-30 21:16 ` Thomas Gummerer
2018-08-10 20:50 ` Johannes Schindelin
2018-07-21 22:04 ` [PATCH v4 04/21] range-diff: improve the order of the shown commits Johannes Schindelin via GitGitGadget
2018-07-21 22:04 ` [PATCH v4 05/21] range-diff: also show the diff between patches Johannes Schindelin via GitGitGadget
2018-07-29 19:03 ` Thomas Gummerer
2018-07-29 19:22 ` Eric Sunshine
2018-07-29 21:45 ` Thomas Gummerer
2018-07-30 16:28 ` Johannes Schindelin
2018-07-30 21:26 ` Thomas Gummerer
2018-07-30 21:51 ` Eric Sunshine
2018-08-10 21:12 ` Johannes Schindelin
2018-08-10 21:31 ` Eric Sunshine
2018-08-10 22:02 ` Johannes Schindelin
2018-08-10 20:36 ` Johannes Schindelin
2018-07-21 22:04 ` [PATCH v4 06/21] range-diff: right-trim commit messages Johannes Schindelin via GitGitGadget
2018-07-21 22:04 ` [PATCH v4 07/21] range-diff: indent the diffs just like tbdiff Johannes Schindelin via GitGitGadget
2018-07-21 22:04 ` [PATCH v4 08/21] range-diff: suppress the diff headers Johannes Schindelin via GitGitGadget
2018-07-21 22:04 ` [PATCH v4 09/21] range-diff: adjust the output of the commit pairs Johannes Schindelin via GitGitGadget
2018-07-29 19:38 ` Thomas Gummerer
2018-08-10 21:01 ` Johannes Schindelin
2018-07-29 21:28 ` Thomas Gummerer
2018-07-21 22:04 ` [PATCH v4 10/21] range-diff: do not show "function names" in hunk headers Johannes Schindelin via GitGitGadget
2018-07-29 20:52 ` Thomas Gummerer
2018-08-10 21:03 ` Johannes Schindelin
2018-07-21 22:05 ` [PATCH v4 11/21] range-diff: add tests Thomas Rast via GitGitGadget
2018-07-22 5:04 ` Eric Sunshine
2018-07-30 16:30 ` Johannes Schindelin
2018-07-30 20:18 ` Junio C Hamano
2018-07-30 23:40 ` Stefan Beller
2018-07-31 15:19 ` Junio C Hamano
2018-07-23 21:25 ` Stefan Beller
2018-07-21 22:05 ` [PATCH v4 12/21] range-diff: use color for the commit pairs Johannes Schindelin via GitGitGadget
2018-07-21 22:05 ` [PATCH v4 13/21] color: add the meta color GIT_COLOR_REVERSE Johannes Schindelin via GitGitGadget
2018-07-21 22:05 ` [PATCH v4 14/21] diff: add an internal option to dual-color diffs of diffs Johannes Schindelin via GitGitGadget
2018-07-23 22:27 ` Junio C Hamano
2018-07-23 22:48 ` Stefan Beller
2018-07-21 22:05 ` [PATCH v4 15/21] range-diff: offer to dual-color the diffs Johannes Schindelin via GitGitGadget
2018-07-21 22:05 ` [PATCH v4 16/21] range-diff --dual-color: fix bogus white-space warning Johannes Schindelin via GitGitGadget
2018-07-23 22:20 ` Stefan Beller
2018-08-10 21:05 ` Johannes Schindelin
2018-07-23 22:39 ` Junio C Hamano
2018-07-24 1:27 ` Junio C Hamano
2018-07-21 22:05 ` [PATCH v4 17/21] range-diff: populate the man page Johannes Schindelin via GitGitGadget
2018-07-29 21:23 ` Thomas Gummerer
2018-08-10 21:06 ` Johannes Schindelin
2018-07-21 22:05 ` [PATCH v4 18/21] completion: support `git range-diff` Johannes Schindelin via GitGitGadget
2018-07-22 5:49 ` Eric Sunshine
2018-08-10 20:24 ` Johannes Schindelin
2018-07-21 22:05 ` [PATCH v4 19/21] range-diff: left-pad patch numbers Johannes Schindelin via GitGitGadget
2018-07-21 22:05 ` [PATCH v4 20/21] range-diff: make --dual-color the default mode Johannes Schindelin via GitGitGadget
2018-07-29 21:33 ` Thomas Gummerer
2018-08-10 21:07 ` Johannes Schindelin
2018-07-21 22:05 ` [PATCH v4 21/21] range-diff: use dim/bold cues to improve dual color mode Johannes Schindelin via GitGitGadget
2018-07-23 21:03 ` [PATCH v4 00/21] Add `range-diff`, a `tbdiff` lookalike Stefan Beller
2018-07-23 21:49 ` Junio C Hamano
2018-07-25 17:44 ` Stefan Beller
2018-07-26 9:47 ` Johannes Schindelin
2018-08-08 13:05 ` Johannes Schindelin
2018-08-08 17:33 ` Stefan Beller
2018-08-10 21:18 ` Johannes Schindelin
2018-08-10 21:31 ` Junio C Hamano
2018-08-10 22:00 ` Johannes Schindelin
2018-07-29 21:50 ` Thomas Gummerer
2018-08-10 22:14 ` [PATCH v5 00/21] Add range-diff, a tbdiff lookalike Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 01/21] linear-assignment: a function to solve least-cost assignment problems Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 02/21] Introduce `range-diff` to compare iterations of a topic branch Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 03/21] range-diff: first rudimentary implementation Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 04/21] range-diff: improve the order of the shown commits Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 05/21] range-diff: also show the diff between patches Johannes Schindelin via GitGitGadget
2018-08-12 21:47 ` Thomas Gummerer
2018-08-13 9:46 ` Johannes Schindelin
2018-08-13 18:01 ` Thomas Gummerer
2018-08-10 22:14 ` [PATCH v5 06/21] range-diff: right-trim commit messages Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 07/21] range-diff: indent the diffs just like tbdiff Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 08/21] range-diff: suppress the diff headers Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 09/21] range-diff: adjust the output of the commit pairs Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 10/21] range-diff: do not show "function names" in hunk headers Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 11/21] range-diff: add tests Thomas Rast via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 12/21] range-diff: use color for the commit pairs Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 13/21] color: add the meta color GIT_COLOR_REVERSE Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 14/21] diff: add an internal option to dual-color diffs of diffs Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 15/21] range-diff: offer to dual-color the diffs Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 16/21] range-diff --dual-color: skip white-space warnings Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 17/21] range-diff: populate the man page Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 18/21] completion: support `git range-diff` Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 19/21] range-diff: left-pad patch numbers Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 20/21] range-diff: make --dual-color the default mode Johannes Schindelin via GitGitGadget
2018-08-10 22:14 ` [PATCH v5 21/21] range-diff: use dim/bold cues to improve dual color mode Johannes Schindelin via GitGitGadget
2018-08-13 11:32 ` [PATCH v6 00/21] Add range-diff, a tbdiff lookalike Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 01/21] linear-assignment: a function to solve least-cost assignment problems Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 02/21] Introduce `range-diff` to compare iterations of a topic branch Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 03/21] range-diff: first rudimentary implementation Johannes Schindelin via GitGitGadget
2019-03-05 6:29 ` Junio C Hamano
2018-08-13 11:33 ` [PATCH v6 04/21] range-diff: improve the order of the shown commits Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 05/21] range-diff: also show the diff between patches Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 06/21] range-diff: right-trim commit messages Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 07/21] range-diff: indent the diffs just like tbdiff Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 08/21] range-diff: suppress the diff headers Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 09/21] range-diff: adjust the output of the commit pairs Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 10/21] range-diff: do not show "function names" in hunk headers Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 11/21] range-diff: add tests Thomas Rast via GitGitGadget
2018-08-13 18:35 ` Thomas Gummerer
2018-08-14 14:53 ` Johannes Schindelin
2018-08-14 15:03 ` Jeff King
2018-08-14 15:06 ` Jeff King
2018-08-14 15:18 ` Junio C Hamano
2018-08-13 11:33 ` [PATCH v6 12/21] range-diff: use color for the commit pairs Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 13/21] color: add the meta color GIT_COLOR_REVERSE Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 14/21] diff: add an internal option to dual-color diffs of diffs Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 15/21] range-diff: offer to dual-color the diffs Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 16/21] range-diff --dual-color: skip white-space warnings Johannes Schindelin via GitGitGadget
2018-08-13 17:48 ` Junio C Hamano
2018-08-13 11:33 ` Johannes Schindelin via GitGitGadget [this message]
2018-09-09 11:14 ` [PATCH v6 17/21] range-diff: populate the man page Ævar Arnfjörð Bjarmason
2018-09-09 16:54 ` SZEDER Gábor
2018-09-09 17:19 ` Ævar Arnfjörð Bjarmason
2018-09-10 13:37 ` Jeff King
2018-10-02 15:06 ` Johannes Schindelin
2018-09-10 17:17 ` Junio C Hamano
2018-08-13 11:33 ` [PATCH v6 18/21] completion: support `git range-diff` Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 19/21] range-diff: left-pad patch numbers Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 20/21] range-diff: make --dual-color the default mode Johannes Schindelin via GitGitGadget
2018-08-13 11:33 ` [PATCH v6 21/21] range-diff: use dim/bold cues to improve dual color mode Johannes Schindelin via GitGitGadget
2018-08-13 11:38 ` [PATCH v6 00/21] Add range-diff, a tbdiff lookalike Johannes Schindelin
2018-08-13 20:47 ` Thomas Gummerer
2018-05-21 4:48 ` [PATCH 00/18] Add `branch-diff`, a `tbdiff` lookalike Junio C Hamano
2018-05-21 9:51 ` Johannes Schindelin
2018-05-22 1:42 ` Junio C Hamano
2018-06-01 8:28 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8c5543a0667fffe0cb0684427f726fdfb75b28d0.1534159977.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johannes.schindelin@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).