mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
eef0589d4f
Windows uses `more.com`, which unhelpfully adds an extra trailing line consisting only of '\r'. It also converts tab characters to spaces, which throws off the last two tests. Setting the 'ui.formatted' option is what allowed the pager to be used by these tests in the first place.
262 lines
5.1 KiB
Raku
262 lines
5.1 KiB
Raku
Setup
|
|
|
|
$ cat <<EOF >> $HGRCPATH
|
|
> [ui]
|
|
> color = yes
|
|
> formatted = always
|
|
> paginate = never
|
|
> [color]
|
|
> mode = ansi
|
|
> EOF
|
|
$ hg init repo
|
|
$ cd repo
|
|
$ cat > a <<EOF
|
|
> c
|
|
> c
|
|
> a
|
|
> a
|
|
> b
|
|
> a
|
|
> a
|
|
> c
|
|
> c
|
|
> EOF
|
|
$ hg ci -Am adda
|
|
adding a
|
|
$ cat > a <<EOF
|
|
> c
|
|
> c
|
|
> a
|
|
> a
|
|
> dd
|
|
> a
|
|
> a
|
|
> c
|
|
> c
|
|
> EOF
|
|
|
|
default context
|
|
|
|
$ hg diff --nodates
|
|
\x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
|
|
\x1b[0;31;1m--- a/a\x1b[0m (esc)
|
|
\x1b[0;32;1m+++ b/a\x1b[0m (esc)
|
|
\x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
|
|
c
|
|
a
|
|
a
|
|
\x1b[0;31m-b\x1b[0m (esc)
|
|
\x1b[0;32m+dd\x1b[0m (esc)
|
|
a
|
|
a
|
|
c
|
|
|
|
(check that 'ui.color=yes' match '--color=auto')
|
|
|
|
$ hg diff --nodates --config ui.formatted=no
|
|
diff -r cf9f4ba66af2 a
|
|
--- a/a
|
|
+++ b/a
|
|
@@ -2,7 +2,7 @@
|
|
c
|
|
a
|
|
a
|
|
-b
|
|
+dd
|
|
a
|
|
a
|
|
c
|
|
|
|
(check that 'ui.color=no' disable color)
|
|
|
|
$ hg diff --nodates --config ui.formatted=yes --config ui.color=no
|
|
diff -r cf9f4ba66af2 a
|
|
--- a/a
|
|
+++ b/a
|
|
@@ -2,7 +2,7 @@
|
|
c
|
|
a
|
|
a
|
|
-b
|
|
+dd
|
|
a
|
|
a
|
|
c
|
|
|
|
(check that 'ui.color=always' force color)
|
|
|
|
$ hg diff --nodates --config ui.formatted=no --config ui.color=always
|
|
\x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
|
|
\x1b[0;31;1m--- a/a\x1b[0m (esc)
|
|
\x1b[0;32;1m+++ b/a\x1b[0m (esc)
|
|
\x1b[0;35m@@ -2,7 +2,7 @@\x1b[0m (esc)
|
|
c
|
|
a
|
|
a
|
|
\x1b[0;31m-b\x1b[0m (esc)
|
|
\x1b[0;32m+dd\x1b[0m (esc)
|
|
a
|
|
a
|
|
c
|
|
|
|
--unified=2
|
|
|
|
$ hg diff --nodates -U 2
|
|
\x1b[0;1mdiff -r cf9f4ba66af2 a\x1b[0m (esc)
|
|
\x1b[0;31;1m--- a/a\x1b[0m (esc)
|
|
\x1b[0;32;1m+++ b/a\x1b[0m (esc)
|
|
\x1b[0;35m@@ -3,5 +3,5 @@\x1b[0m (esc)
|
|
a
|
|
a
|
|
\x1b[0;31m-b\x1b[0m (esc)
|
|
\x1b[0;32m+dd\x1b[0m (esc)
|
|
a
|
|
a
|
|
|
|
diffstat
|
|
|
|
$ hg diff --stat
|
|
a | 2 \x1b[0;32m+\x1b[0m\x1b[0;31m-\x1b[0m (esc)
|
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
$ cat <<EOF >> $HGRCPATH
|
|
> [extensions]
|
|
> record =
|
|
> [ui]
|
|
> interactive = true
|
|
> [diff]
|
|
> git = True
|
|
> EOF
|
|
|
|
#if execbit
|
|
|
|
record
|
|
|
|
$ chmod +x a
|
|
$ hg record -m moda a <<EOF
|
|
> y
|
|
> y
|
|
> EOF
|
|
\x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
|
|
\x1b[0;36;1mold mode 100644\x1b[0m (esc)
|
|
\x1b[0;36;1mnew mode 100755\x1b[0m (esc)
|
|
1 hunks, 1 lines changed
|
|
\x1b[0;33mexamine changes to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
|
|
|
|
\x1b[0;35m@@ -2,7 +2,7 @@ c\x1b[0m (esc)
|
|
c
|
|
a
|
|
a
|
|
\x1b[0;31m-b\x1b[0m (esc)
|
|
\x1b[0;32m+dd\x1b[0m (esc)
|
|
a
|
|
a
|
|
c
|
|
\x1b[0;33mrecord this change to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
|
|
|
|
|
|
$ echo "[extensions]" >> $HGRCPATH
|
|
$ echo "mq=" >> $HGRCPATH
|
|
$ hg rollback
|
|
repository tip rolled back to revision 0 (undo commit)
|
|
working directory now based on revision 0
|
|
|
|
qrecord
|
|
|
|
$ hg qrecord -m moda patch <<EOF
|
|
> y
|
|
> y
|
|
> EOF
|
|
\x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
|
|
\x1b[0;36;1mold mode 100644\x1b[0m (esc)
|
|
\x1b[0;36;1mnew mode 100755\x1b[0m (esc)
|
|
1 hunks, 1 lines changed
|
|
\x1b[0;33mexamine changes to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
|
|
|
|
\x1b[0;35m@@ -2,7 +2,7 @@ c\x1b[0m (esc)
|
|
c
|
|
a
|
|
a
|
|
\x1b[0;31m-b\x1b[0m (esc)
|
|
\x1b[0;32m+dd\x1b[0m (esc)
|
|
a
|
|
a
|
|
c
|
|
\x1b[0;33mrecord this change to 'a'? [Ynesfdaq?]\x1b[0m y (esc)
|
|
|
|
|
|
$ hg qpop -a
|
|
popping patch
|
|
patch queue now empty
|
|
|
|
#endif
|
|
|
|
issue3712: test colorization of subrepo diff
|
|
|
|
$ hg init sub
|
|
$ echo b > sub/b
|
|
$ hg -R sub commit -Am 'create sub'
|
|
adding b
|
|
$ echo 'sub = sub' > .hgsub
|
|
$ hg add .hgsub
|
|
$ hg commit -m 'add subrepo sub'
|
|
$ echo aa >> a
|
|
$ echo bb >> sub/b
|
|
|
|
$ hg diff -S
|
|
\x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
|
|
\x1b[0;31;1m--- a/a\x1b[0m (esc)
|
|
\x1b[0;32;1m+++ b/a\x1b[0m (esc)
|
|
\x1b[0;35m@@ -7,3 +7,4 @@\x1b[0m (esc)
|
|
a
|
|
c
|
|
c
|
|
\x1b[0;32m+aa\x1b[0m (esc)
|
|
\x1b[0;1mdiff --git a/sub/b b/sub/b\x1b[0m (esc)
|
|
\x1b[0;31;1m--- a/sub/b\x1b[0m (esc)
|
|
\x1b[0;32;1m+++ b/sub/b\x1b[0m (esc)
|
|
\x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
|
|
b
|
|
\x1b[0;32m+bb\x1b[0m (esc)
|
|
|
|
test tabs
|
|
|
|
$ cat >> a <<EOF
|
|
> one tab
|
|
> two tabs
|
|
> end tab
|
|
> mid tab
|
|
> all tabs
|
|
> EOF
|
|
$ hg diff --nodates
|
|
\x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
|
|
\x1b[0;31;1m--- a/a\x1b[0m (esc)
|
|
\x1b[0;32;1m+++ b/a\x1b[0m (esc)
|
|
\x1b[0;35m@@ -7,3 +7,9 @@\x1b[0m (esc)
|
|
a
|
|
c
|
|
c
|
|
\x1b[0;32m+aa\x1b[0m (esc)
|
|
\x1b[0;32m+\x1b[0m \x1b[0;32mone tab\x1b[0m (esc)
|
|
\x1b[0;32m+\x1b[0m \x1b[0;32mtwo tabs\x1b[0m (esc)
|
|
\x1b[0;32m+end tab\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
|
|
\x1b[0;32m+mid\x1b[0m \x1b[0;32mtab\x1b[0m (esc)
|
|
\x1b[0;32m+\x1b[0m \x1b[0;32mall\x1b[0m \x1b[0;32mtabs\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
|
|
$ echo "[color]" >> $HGRCPATH
|
|
$ echo "diff.tab = bold magenta" >> $HGRCPATH
|
|
$ hg diff --nodates
|
|
\x1b[0;1mdiff --git a/a b/a\x1b[0m (esc)
|
|
\x1b[0;31;1m--- a/a\x1b[0m (esc)
|
|
\x1b[0;32;1m+++ b/a\x1b[0m (esc)
|
|
\x1b[0;35m@@ -7,3 +7,9 @@\x1b[0m (esc)
|
|
a
|
|
c
|
|
c
|
|
\x1b[0;32m+aa\x1b[0m (esc)
|
|
\x1b[0;32m+\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mone tab\x1b[0m (esc)
|
|
\x1b[0;32m+\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mtwo tabs\x1b[0m (esc)
|
|
\x1b[0;32m+end tab\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
|
|
\x1b[0;32m+mid\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mtab\x1b[0m (esc)
|
|
\x1b[0;32m+\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mall\x1b[0m\x1b[0;1;35m \x1b[0m\x1b[0;32mtabs\x1b[0m\x1b[0;1;41m \x1b[0m (esc)
|
|
|
|
$ cd ..
|