@@ -850,48 +850,19 @@
850 850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
We [covered this and the workaround for its lack](#comsplit) above.
851 851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
852 852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
[3]: ./rebaseharm.md
853 853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
854 854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ## <a id="cdiff"></a> Colorized Diffs
855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a id="cdiff"></a>
856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ## Colorized Diffs
856 857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
857 858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
When you run `git diff` on an ANSI X3.64 capable terminal, it uses color
858 859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
to distinguish insertions, deletions, and replacements, but as of this
859 860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
writing, `fossil diff` produces traditional uncolored [unified diff
860 861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
format][udiff] output, suitable for producing a [patch file][pfile].
861 862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Nevertheless, there are multiple ways to get colorized diff output from
863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Fossil:
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * The most direct method is to delegate diff behavior back to Git:
866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil set --global diff-command 'git diff --no-index'
868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The flag permits it to diff files that aren’t inside a Git repository.
870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Another method is to install [`colordiff`][cdiff] — included in
872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- [many package systems][cdpkg] — then say:
873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil set --global diff-command 'colordiff -wu'
875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Because this is unconditional, unlike `git diff --color=auto`, you
877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- will then have to remember to add the `-i` option to `fossil diff`
878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- commands when you want color disabled, such as when producing
879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- `patch(1)` files or piping diff output to another command that
880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- doesn’t understand ANSI escape sequences. There’s an example of this
881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- [below](#dstat).
882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Use the Fossil web UI to diff existing commits.
884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * To diff the current working directory contents against some parent
886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- instead, Fossil’s diff command can produce
887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- colorized HTML output and open it in the OS’s default web browser.
888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- For example, `fossil diff -by` will show side-by-side diffs.
889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Use the older `fossil diff --tk` option to do much the same using
891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Tcl/Tk instead of a browser.
892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ There are [many methods](./colordiff.md) for solving this.
893 864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Viewed this way, Fossil doesn’t lack colorized diffs, it simply has
894 865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*one* method where they *aren’t* colorized.
895 866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
896 867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
[cdpkg]: https://repology.org/project/colordiff/versions
897 868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
[pfile]: https://en.wikipedia.org/wiki/Patch_(Unix)
@@ -964,19 +935,17 @@
964 935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
a histogram in its default output mode rather than bare integers:
965 936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
966 937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil diff -i -v --from 2020-04-01 | diffstat
967 938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
968 939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
We gave the `-i` flag in both cases to force Fossil to use its internal
969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- diff implementation, bypassing [your local `diff-command` setting][dcset].
970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- The `--numstat` option has no effect when you have an external diff
971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- command set, and some diff command alternatives like
972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- [`colordiff`][cdiff] (covered [above](#cdiff)) produce output that confuses `diffstat`.
940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diff implementation, bypassing [your local `diff-command` setting][dcset]
941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ since the `--numstat` option has no effect when you have an external diff
942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ command set.
973 943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
974 944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
If you leave off the `-v` flag in the second example, the `diffstat`
975 945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
output won’t include info about any newly-added files.
976 946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- [cdiff]: https://www.colordiff.org/
978 947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
[dcset]: https://fossil-scm.org/home/help?cmd=diff-command
979 948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
[dst]: https://invisible-island.net/diffstat/diffstat.html
980 949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
981 950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
982 951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
<a id="btnames"></a>
983 952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!