tests/test-extdiff.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 16 Dec 2020 22:30:07 -0800
changeset 46132 dfe2760db2a6
parent 46130 60677eca7434
child 46133 0a4d47f4337b
permissions -rw-r--r--
extdiff: fix crash when showing diff from wdir() Differential Revision: https://phab.mercurial-scm.org/D9623
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     1
  $ echo "[extensions]" >> $HGRCPATH
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     2
  $ echo "extdiff=" >> $HGRCPATH
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     3
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     4
  $ hg init a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     5
  $ cd a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     6
  $ echo a > a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     7
  $ echo b > b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     8
  $ hg add
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
     9
  adding a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    10
  adding b
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    11
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    12
Should diff cloned directories:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    13
46130
60677eca7434 tests: remove undefined (empty) $opt from test-extdiff.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 43822
diff changeset
    14
  $ hg extdiff -o -r
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    15
  Only in a: a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    16
  Only in a: b
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
    17
  [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    18
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
    19
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
    20
  > [extdiff]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
    21
  > cmd.falabala = echo
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
    22
  > opts.falabala = diffing
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
    23
  > cmd.edspace = echo
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
    24
  > opts.edspace = "name  <user@example.com>"
41584
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
    25
  > alabalaf =
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
    26
  > [merge-tools]
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
    27
  > alabalaf.executable = echo
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
    28
  > alabalaf.diffargs = diffing
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23152
diff changeset
    29
  > EOF
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    30
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    31
  $ hg falabala
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    32
  diffing a.000000000000 a
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
    33
  [1]
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    34
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    35
  $ hg help falabala
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    36
  hg falabala [OPTION]... [FILE]...
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    37
  
29723
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
    38
  use external program to diff repository (or selected files)
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    39
  
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    40
      Show differences between revisions for the specified files, using the
29723
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
    41
      following program:
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
    42
  
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
    43
        'echo'
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    44
  
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    45
      When two revision arguments are given, then changes are shown between
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    46
      those revisions. If only one revision is specified then that revision is
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    47
      compared to the working directory, and, when no revisions are specified,
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    48
      the working directory files are compared to its parent.
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    49
  
22117
c1d93edcf004 help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents: 22110
diff changeset
    50
  options ([+] can be repeated):
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    51
  
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
    52
   -o --option OPT [+]      pass option to comparison program
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
    53
   -r --rev REV [+]         revision
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
    54
   -c --change REV          change made by revision
41487
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
    55
      --per-file            compare each file instead of revision snapshots
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
    56
      --confirm             prompt user before each external program invocation
30152
d65e246100ed help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30024
diff changeset
    57
      --patch               compare patches for two revisions
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
    58
   -I --include PATTERN [+] include names matching the given patterns
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14024
diff changeset
    59
   -X --exclude PATTERN [+] exclude names matching the given patterns
30152
d65e246100ed help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30024
diff changeset
    60
   -S --subrepos            recurse into subrepositories
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    61
  
22110
26f7c8033bed help: tweak --verbose command help hint
Matt Mackall <mpm@selenic.com>
parents: 17837
diff changeset
    62
  (some details hidden, use --verbose to show complete help)
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    63
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    64
  $ hg ci -d '0 0' -mtest1
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    65
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    66
  $ echo b >> a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    67
  $ hg ci -d '1 0' -mtest2
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    68
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    69
Should diff cloned files directly:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    70
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
    71
  $ hg falabala -r 0:1
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
    72
  diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
    73
  diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
    74
  [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    75
46132
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    76
Can show diff from working copy:
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    77
  $ echo c >> a
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    78
  $ hg falabala -r 'wdir()' -r 1
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    79
  diffing "*\\extdiff.*\\a" "a.34eed99112ab\\a" (glob) (windows !)
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    80
  diffing */extdiff.*/a a.34eed99112ab/a (glob) (no-windows !)
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    81
  [1]
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    82
  $ hg revert a
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    83
  $ rm a.orig
dfe2760db2a6 extdiff: fix crash when showing diff from wdir()
Martin von Zweigbergk <martinvonz@google.com>
parents: 46130
diff changeset
    84
26836
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
    85
Specifying an empty revision should abort.
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
    86
28053
34a2944aac9b check-code: add rule to detect usage of external diff via extdiff
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27183
diff changeset
    87
  $ hg extdiff -p diff --patch --rev 'ancestor()' --rev 1
26836
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
    88
  abort: empty revision on one side of range
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
    89
  [255]
88c4e97b9669 scmutil: abort if an empty revision is given to revpair()
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
    90
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    91
Test diff during merge:
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    92
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    93
  $ hg update -C 0
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    94
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    95
  $ echo c >> c
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    96
  $ hg add c
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    97
  $ hg ci -m "new branch" -d '1 0'
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    98
  created new head
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
    99
  $ hg merge 1
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   100
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   101
  (branch merge, don't forget to commit)
2906
453097750fbf extdiff: fix bugs. add test.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
   102
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   103
Should diff cloned file against wc file:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   104
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
   105
  $ hg falabala
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   106
  diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "*\\a\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   107
  diffing */extdiff.*/a.2a13a4d2da36/a */a/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
   108
  [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   109
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   110
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   111
Test --change option:
3330
49966b5ab16f fix traceback of extdiff after a merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 2990
diff changeset
   112
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   113
  $ hg ci -d '2 0' -mtest3
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   114
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
   115
  $ hg falabala -c 1
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   116
  diffing "*\\extdiff.*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   117
  diffing */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
   118
  [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   119
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   120
Check diff are made from the first parent:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   121
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
   122
  $ hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code"
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   123
  diffing "*\\extdiff.*\\a.2a13a4d2da36\\a" "a.46c0e4daeb72\\a" (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   124
  diffing */extdiff.*/a.2a13a4d2da36/a a.46c0e4daeb72/a (glob) (no-windows !)
24885
eea3977e6fca windows: make shellquote() quote any path containing '\' (issue4629)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24153
diff changeset
   125
  diff-like tools yield a non-zero exit code
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   126
27183
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   127
issue3153: ensure using extdiff with removed subrepos doesn't crash:
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   128
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   129
  $ hg init suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   130
  $ cd suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   131
  $ echo suba > suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   132
  $ hg add
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   133
  adding suba
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   134
  $ hg ci -m "adding suba file"
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   135
  $ cd ..
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   136
  $ echo suba=suba > .hgsub
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   137
  $ hg add
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   138
  adding .hgsub
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   139
  $ hg ci -Sm "adding subrepo"
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   140
  $ echo > .hgsub
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   141
  $ hg ci -m "removing subrepo"
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   142
  $ hg falabala -r 4 -r 5 -S
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   143
  diffing a.398e36faf9c6 a.5ab95fb166c4
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   144
  [1]
0945539a3a6b extdiff: correctly handle deleted subrepositories (issue3153)
Andrew Zwicky <andrew.zwicky@gmail.com>
parents: 26836
diff changeset
   145
41487
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   146
Test --per-file option:
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   147
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   148
  $ hg up -q -C 3
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   149
  $ echo a2 > a
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   150
  $ echo b2 > b
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   151
  $ hg ci -d '3 0' -mtestmode1
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   152
  created new head
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   153
  $ hg falabala -c 6 --per-file
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   154
  diffing "*\\extdiff.*\\a.46c0e4daeb72\\a" "a.81906f2b98ac\\a" (glob) (windows !)
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   155
  diffing */extdiff.*/a.46c0e4daeb72/a a.81906f2b98ac/a (glob) (no-windows !)
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   156
  diffing "*\\extdiff.*\\a.46c0e4daeb72\\b" "a.81906f2b98ac\\b" (glob) (windows !)
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   157
  diffing */extdiff.*/a.46c0e4daeb72/b a.81906f2b98ac/b (glob) (no-windows !)
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   158
  [1]
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   159
41584
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   160
Test --per-file option for gui tool:
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   161
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   162
  $ hg --config extdiff.gui.alabalaf=True alabalaf -c 6 --per-file --debug
41809
e0a3ee3fdb33 tests: add more wildcards to test-extdiff.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 41712
diff changeset
   163
  diffing */extdiff.*/a.46c0e4daeb72/* a.81906f2b98ac/* (glob)
e0a3ee3fdb33 tests: add more wildcards to test-extdiff.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 41712
diff changeset
   164
  diffing */extdiff.*/a.46c0e4daeb72/* a.81906f2b98ac/* (glob)
41584
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   165
  making snapshot of 2 files from rev 46c0e4daeb72
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   166
    a
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   167
    b
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   168
  making snapshot of 2 files from rev 81906f2b98ac
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   169
    a
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   170
    b
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   171
  running '* diffing * *' in * (backgrounded) (glob)
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   172
  running '* diffing * *' in * (backgrounded) (glob)
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   173
  cleaning up temp directory
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   174
  [1]
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   175
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   176
Test --per-file option for gui tool again:
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   177
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   178
  $ hg --config merge-tools.alabalaf.gui=True alabalaf -c 6 --per-file --debug
41712
88d4477ac4f6 tests: add more wildcards to test-extdiff.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41608
diff changeset
   179
  diffing */extdiff.*/a.46c0e4daeb72/* a.81906f2b98ac/* (glob)
88d4477ac4f6 tests: add more wildcards to test-extdiff.t
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41608
diff changeset
   180
  diffing */extdiff.*/a.46c0e4daeb72/* a.81906f2b98ac/* (glob)
41584
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   181
  making snapshot of 2 files from rev 46c0e4daeb72
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   182
    a
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   183
    b
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   184
  making snapshot of 2 files from rev 81906f2b98ac
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   185
    a
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   186
    b
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   187
  running '* diffing * *' in * (backgrounded) (glob)
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   188
  running '* diffing * *' in * (backgrounded) (glob)
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   189
  cleaning up temp directory
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   190
  [1]
a4cd77a425a3 extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents: 41487
diff changeset
   191
41487
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   192
Test --per-file and --confirm options:
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   193
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   194
  $ hg --config ui.interactive=True falabala -c 6 --per-file --confirm <<EOF
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   195
  > n
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   196
  > y
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   197
  > EOF
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   198
  diff a (1 of 2) [Yns?] n
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   199
  diff b (2 of 2) [Yns?] y
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   200
  diffing "*\\extdiff.*\\a.46c0e4daeb72\\b" "a.81906f2b98ac\\b" (glob) (windows !)
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   201
  diffing */extdiff.*/a.46c0e4daeb72/b a.81906f2b98ac/b (glob) (no-windows !)
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   202
  [1]
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   203
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   204
Test --per-file and --confirm options with skipping:
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   205
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   206
  $ hg --config ui.interactive=True falabala -c 6 --per-file --confirm <<EOF
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   207
  > s
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   208
  > EOF
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   209
  diff a (1 of 2) [Yns?] s
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   210
  [1]
fa471151d269 extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents: 39707
diff changeset
   211
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   212
issue4463: usage of command line configuration without additional quoting
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   213
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   214
  $ cat <<EOF >> $HGRCPATH
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   215
  > [extdiff]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   216
  > cmd.4463a = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   217
  > opts.4463a = a-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   218
  > 4463b = echo b-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   219
  > echo =
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   220
  > EOF
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   221
  $ hg update -q -C 0
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   222
  $ echo a >> a
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   223
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   224
  $ hg --debug 4463a | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   225
  running 'echo a-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   226
  running 'echo a-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   227
  $ hg --debug 4463b | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   228
  running 'echo b-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   229
  running 'echo b-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   230
  $ hg --debug echo | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   231
  running '*echo* "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   232
  running '*echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   233
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   234
(getting options from other than extdiff section)
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   235
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   236
  $ cat <<EOF >> $HGRCPATH
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   237
  > [extdiff]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   238
  > # using diff-tools diffargs
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   239
  > 4463b2 = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   240
  > # using merge-tools diffargs
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   241
  > 4463b3 = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   242
  > # no diffargs
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   243
  > 4463b4 = echo
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   244
  > [diff-tools]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   245
  > 4463b2.diffargs = b2-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   246
  > [merge-tools]
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   247
  > 4463b3.diffargs = b3-naked 'single quoted' "double quoted"
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   248
  > EOF
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   249
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   250
  $ hg --debug 4463b2 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   251
  running 'echo b2-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   252
  running 'echo b2-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   253
  $ hg --debug 4463b3 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   254
  running 'echo b3-naked \'single quoted\' "double quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   255
  running 'echo b3-naked \'single quoted\' "double quoted" */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   256
  $ hg --debug 4463b4 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   257
  running 'echo "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   258
  running 'echo */a $TESTTMP/a/a' in */extdiff.* (glob) (no-windows !)
23682
1642eb429536 windows: quote the specified string only when it has to be quoted
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23680
diff changeset
   259
  $ hg --debug 4463b4 --option b4-naked --option 'being quoted' | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   260
  running 'echo b4-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   261
  running "echo b4-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
23682
1642eb429536 windows: quote the specified string only when it has to be quoted
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23680
diff changeset
   262
  $ hg --debug extdiff -p echo --option echo-naked --option 'being quoted' | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   263
  running 'echo echo-naked "being quoted" "*\\a" "*\\a"' in */extdiff.* (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   264
  running "echo echo-naked 'being quoted' */a $TESTTMP/a/a" in */extdiff.* (glob) (no-windows !)
23680
4075f2f8ea53 extdiff: avoid unexpected quoting arguments for external tools (issue4463)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23172
diff changeset
   265
23969
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   266
  $ touch 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   267
  $ hg add 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   268
  $ hg ci -m 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   269
  created new head
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   270
  $ echo > 'sp ace'
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   271
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   272
Test pre-72a89cf86fcd backward compatibility with half-baked manual quoting
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   273
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   274
  $ cat <<EOF >> $HGRCPATH
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   275
  > [extdiff]
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   276
  > odd =
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   277
  > [merge-tools]
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   278
  > odd.diffargs = --foo='\$clabel' '\$clabel' "--bar=\$clabel" "\$clabel"
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   279
  > odd.executable = echo
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   280
  > EOF
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   281
32213
bc2e23354cc0 test-extdiff: fill in a missing Windows test
Matt Harbison <matt_harbison@yahoo.com>
parents: 30152
diff changeset
   282
  $ hg --debug odd | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   283
  running '"*\\echo.exe" --foo="sp ace" "sp ace" --bar="sp ace" "sp ace"' in * (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   284
  running "*/echo --foo='sp ace' 'sp ace' --bar='sp ace' 'sp ace'" in * (glob) (no-windows !)
23969
01e5b7323a48 extdiff: reintroduce backward compatibility with manual quoting of parameters
Mads Kiilerich <madski@unity3d.com>
parents: 23683
diff changeset
   285
24108
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   286
Empty argument must be quoted
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   287
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   288
  $ cat <<EOF >> $HGRCPATH
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   289
  > [extdiff]
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   290
  > kdiff3 = echo
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   291
  > [merge-tools]
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   292
  > kdiff3.diffargs=--L1 \$plabel1 --L2 \$clabel \$parent \$child
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   293
  > EOF
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   294
24108
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   295
  $ hg --debug kdiff3 -r0 | grep '^running'
32214
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   296
  running 'echo --L1 "@0" --L2 "" a.8a5febb7f867 a' in * (glob) (windows !)
c05f71e57ec4 test-extdiff: deduplicate tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32213
diff changeset
   297
  running "echo --L1 '@0' --L2 '' a.8a5febb7f867 a" in * (glob) (no-windows !)
24108
d65ecb814fc0 shellquote: fix missing quotes for empty string
Yuya Nishihara <yuya@tcha.org>
parents: 23974
diff changeset
   298
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
   299
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   300
Test extdiff of multiple files in tmp dir:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   301
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   302
  $ hg update -C 0 > /dev/null
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   303
  $ echo changed > a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   304
  $ echo changed > b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   305
#if execbit
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   306
  $ chmod +x b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   307
#endif
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   308
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   309
Diff in working directory, before:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   310
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   311
  $ hg diff --git
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   312
  diff --git a/a b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   313
  --- a/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   314
  +++ b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   315
  @@ -1,1 +1,1 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   316
  -a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   317
  +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   318
  diff --git a/b b/b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   319
  old mode 100644 (execbit !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   320
  new mode 100755 (execbit !)
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   321
  --- a/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   322
  +++ b/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   323
  @@ -1,1 +1,1 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   324
  -b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   325
  +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   326
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   327
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   328
Edit with extdiff -p:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   329
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   330
Prepare custom diff/edit tool:
8065
66d0a03d3afc extdiff: preserve execute-bit across copies (issue1562)
Patrick Mezard <pmezard@gmail.com>
parents: 7758
diff changeset
   331
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   332
  $ cat > 'diff tool.py' << EOT
32938
b6776b34e44e tests: use $PYTHON in #! so we always use the right Python
Augie Fackler <augie@google.com>
parents: 32283
diff changeset
   333
  > #!$PYTHON
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   334
  > import time
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   335
  > time.sleep(1) # avoid unchanged-timestamp problems
36029
d83fc41dabf3 py3: replace file() with open() in test-extdiff.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33613
diff changeset
   336
  > open('a/a', 'ab').write(b'edited\n')
d83fc41dabf3 py3: replace file() with open() in test-extdiff.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 33613
diff changeset
   337
  > open('a/b', 'ab').write(b'edited\n')
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   338
  > EOT
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   339
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   340
#if execbit
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   341
  $ chmod +x 'diff tool.py'
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   342
#endif
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   343
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   344
will change to /tmp/extdiff.TMP and populate directories a.TMP and a
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   345
and start tool
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
   346
33613
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
   347
#if windows
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
   348
  $ cat > 'diff tool.bat' << EOF
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36268
diff changeset
   349
  > @"$PYTHON" "`pwd`/diff tool.py"
33613
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
   350
  > EOF
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
   351
  $ hg extdiff -p "`pwd`/diff tool.bat"
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
   352
  [1]
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
   353
#else
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   354
  $ hg extdiff -p "`pwd`/diff tool.py"
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
   355
  [1]
33613
3b77d4787c18 tests: avoid unexpected result at invocation of *.py file on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32938
diff changeset
   356
#endif
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   357
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   358
Diff in working directory, after:
9956
6045a8c4dbbc extdiff: respect --option in command aliases (issue949)
Sune Foldager <cryo@cyanite.org>
parents: 8212
diff changeset
   359
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   360
  $ hg diff --git
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   361
  diff --git a/a b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   362
  --- a/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   363
  +++ b/a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   364
  @@ -1,1 +1,2 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   365
  -a
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   366
  +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   367
  +edited
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   368
  diff --git a/b b/b
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   369
  old mode 100644 (execbit !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   370
  new mode 100755 (execbit !)
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   371
  --- a/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   372
  +++ b/b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   373
  @@ -1,1 +1,2 @@
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   374
  -b
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   375
  +changed
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   376
  +edited
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   377
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   378
Test extdiff with --option:
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   379
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   380
  $ hg extdiff -p echo -o this -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   381
  this "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   382
  this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
   383
  [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   384
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   385
  $ hg falabala -o this -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   386
  diffing this "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   387
  diffing this */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
   388
  [1]
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   389
23138
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   390
Test extdiff's handling of options with spaces in them:
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   391
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   392
  $ hg edspace -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   393
  "name  <user@example.com>" "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   394
  name  <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
23138
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   395
  [1]
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   396
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   397
  $ hg extdiff -p echo -o "name  <user@example.com>" -c 1
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   398
  "name  <user@example.com>" "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   399
  name  <user@example.com> */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
23138
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   400
  [1]
72a89cf86fcd extdiff: quote user-supplied options passed to shell
Michael Fyles <mf@vorston.net>
parents: 22117
diff changeset
   401
13660
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
   402
Test with revsets:
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
   403
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
   404
  $ hg extdif -p echo -c "rev(1)"
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   405
  "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   406
  */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12304
diff changeset
   407
  [1]
13660
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
   408
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
   409
  $ hg extdif -p echo -r "0::1"
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   410
  "*\\a.8a5febb7f867\\a" "a.34eed99112ab\\a" (glob) (windows !)
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   411
  */extdiff.*/a.8a5febb7f867/a a.34eed99112ab/a (glob) (no-windows !)
13660
a56c1b2bff18 Updating hgext.extdiff to use revsets
David Wolever <david@wolever.net>
parents: 12640
diff changeset
   412
  [1]
14024
92b768e9f80c merge with stable
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13762 14021
diff changeset
   413
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   414
Fallback to merge-tools.tool.executable|regkey
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   415
  $ mkdir dir
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   416
  $ cat > 'dir/tool.sh' << 'EOF'
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   417
  > #!/bin/sh
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   418
  > # Mimic a tool that syncs all attrs, including mtime
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   419
  > cp $1/a $2/a
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   420
  > touch -r $1/a $2/a
32283
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   421
  > chmod +x $2/a
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   422
  > echo "** custom diff **"
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   423
  > EOF
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   424
#if execbit
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   425
  $ chmod +x dir/tool.sh
32215
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   426
#endif
f41cc3dd73d6 test-extdiff: narrow the range of an '#if execbit' block
Matt Harbison <matt_harbison@yahoo.com>
parents: 32214
diff changeset
   427
32216
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   428
Windows can't run *.sh directly, so create a shim executable that can be.
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   429
Without something executable, the next hg command will try to run `tl` instead
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   430
of $tool (and fail).
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   431
#if windows
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   432
  $ cat > dir/tool.bat <<EOF
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   433
  > @sh -c "`pwd`/dir/tool.sh %1 %2"
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   434
  > EOF
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   435
  $ tool=`pwd`/dir/tool.bat
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   436
#else
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   437
  $ tool=`pwd`/dir/tool.sh
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   438
#endif
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   439
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   440
  $ cat a
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   441
  changed
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   442
  edited
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   443
  $ hg --debug tl --config extdiff.tl= --config merge-tools.tl.executable=$tool
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   444
  making snapshot of 2 files from rev * (glob)
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   445
    a
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   446
    b
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   447
  making snapshot of 2 files from working directory
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   448
    a
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   449
    b
32216
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   450
  running '$TESTTMP/a/dir/tool.bat a.* a' in */extdiff.* (glob) (windows !)
98bb992bef19 test-extdiff: enable a previously failing test on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32215
diff changeset
   451
  running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob) (no-windows !)
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   452
  ** custom diff **
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   453
  file changed while diffing. Overwriting: $TESTTMP/a/a (src: */extdiff.*/a/a) (glob)
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   454
  cleaning up temp directory
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   455
  [1]
32217
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   456
  $ cat a
affd753ddaf1 extdiff: copy back files to the working directory if the size changed
Matt Harbison <matt_harbison@yahoo.com>
parents: 32216
diff changeset
   457
  a
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22117
diff changeset
   458
32283
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   459
#if execbit
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   460
  $ [ -x a ]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   461
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   462
  $ cat > 'dir/tool.sh' << 'EOF'
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   463
  > #!/bin/sh
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   464
  > chmod -x $2/a
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   465
  > echo "** custom diff **"
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   466
  > EOF
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   467
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   468
  $ hg --debug tl --config extdiff.tl= --config merge-tools.tl.executable=$tool
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   469
  making snapshot of 2 files from rev * (glob)
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   470
    a
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   471
    b
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   472
  making snapshot of 2 files from working directory
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   473
    a
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   474
    b
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   475
  running '$TESTTMP/a/dir/tool.sh a.* a' in */extdiff.* (glob)
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   476
  ** custom diff **
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   477
  file changed while diffing. Overwriting: $TESTTMP/a/a (src: */extdiff.*/a/a) (glob)
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   478
  cleaning up temp directory
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   479
  [1]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   480
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   481
  $ [ -x a ]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   482
  [1]
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   483
#endif
8a1ff5ed620e extdiff: copy back execbit-only changes to the working directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 32217
diff changeset
   484
14021
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   485
  $ cd ..
12304
41dd368b6fe8 tests: unify test-extdiff
Adrian Buehlmann <adrian@cadifra.com>
parents: 10775
diff changeset
   486
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
   487
#if symlink
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
   488
14024
92b768e9f80c merge with stable
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13762 14021
diff changeset
   489
Test symlinks handling (issue1909)
92b768e9f80c merge with stable
Thomas Arendsen Hein <thomas@intevation.de>
parents: 13762 14021
diff changeset
   490
14021
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   491
  $ hg init testsymlinks
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   492
  $ cd testsymlinks
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   493
  $ echo a > a
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   494
  $ hg ci -Am adda
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   495
  adding a
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   496
  $ echo a >> a
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   497
  $ ln -s missing linka
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   498
  $ hg add linka
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   499
  $ hg falabala -r 0 --traceback
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   500
  diffing testsymlinks.07f494440405 testsymlinks
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   501
  [1]
3eb632d9cf42 extdiff: fix broken symlinks handling (issue1909)
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   502
  $ cd ..
16899
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
   503
8149ff405c78 tests: convert some 'hghave execbit' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 15442
diff changeset
   504
#endif
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   505
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   506
Test handling of non-ASCII paths in generated docstrings (issue5301)
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   507
36268
be5a6fe3643a py3: make test-extdiff.t pass on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 36029
diff changeset
   508
  >>> with open("u", "wb") as f:
be5a6fe3643a py3: make test-extdiff.t pass on Python 3
Yuya Nishihara <yuya@tcha.org>
parents: 36029
diff changeset
   509
  ...     n = f.write(b"\xa5\xa5")
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   510
  $ U=`cat u`
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   511
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   512
  $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help -k xyzzy
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   513
  abort: no matches
29974
7109d5ddeb0c help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 29723
diff changeset
   514
  (try 'hg help' for a list of topics)
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   515
  [255]
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   516
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   517
  $ HGPLAIN=1 hg --config hgext.extdiff= --config extdiff.cmd.td=hi help td > /dev/null
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   518
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   519
  $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help -k xyzzy
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   520
  abort: no matches
29974
7109d5ddeb0c help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 29723
diff changeset
   521
  (try 'hg help' for a list of topics)
29630
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   522
  [255]
67b180c0e263 extdiff: escape path for docstring (issue5301)
Matt Mackall <mpm@selenic.com>
parents: 28053
diff changeset
   523
29723
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
   524
  $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help td \
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
   525
  > | grep "^      '"
91b2f2176395 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org>
parents: 29630
diff changeset
   526
        '\xa5\xa5'
43790
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   527
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   528
  $ cd $TESTTMP
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   529
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   530
Test that diffing a single file works, even if that file is new
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   531
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   532
  $ hg init testsinglefile
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   533
  $ cd testsinglefile
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   534
  $ echo a > a
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   535
  $ hg add a
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   536
  $ hg falabala
43822
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   537
  diffing nul "*\\a" (glob) (windows !)
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   538
  diffing /dev/null */a (glob) (no-windows !)
43790
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   539
  [1]
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   540
  $ hg ci -qm a
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   541
  $ hg falabala -c .
43822
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   542
  diffing nul "*\\a" (glob) (windows !)
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   543
  diffing /dev/null */a (glob) (no-windows !)
43790
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   544
  [1]
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   545
  $ echo a >> a
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   546
  $ hg falabala
43822
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   547
  diffing "*\\a" "*\\a" (glob) (windows !)
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   548
  diffing */a */a (glob) (no-windows !)
43790
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   549
  [1]
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   550
  $ hg ci -qm 2a
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   551
  $ hg falabala -c .
43822
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   552
  diffing "*\\a" "*\\a" (glob) (windows !)
fb03cd716f50 tests: stabilize test-extdiff.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 43790
diff changeset
   553
  diffing */a */a (glob) (no-windows !)
43790
765a9c299c44 py3: make a pycompat.osdevnull, use it in extdiff
Kyle Lippincott <spectral@google.com>
parents: 41809
diff changeset
   554
  [1]