tests/test-patch.t
author Martin Geisler <mg@lazybytes.net>
Fri, 22 Oct 2010 16:34:38 +0200
branchstable
changeset 12807 6bbf0139a36d
parent 12728 80a3d1121c10
child 12847 b00eda50ad2b
permissions -rw-r--r--
color: give hint to translators about untranslated keywords
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11784
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     1
  $ cat > patchtool.py <<EOF
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     2
  > import sys
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     3
  > print 'Using custom patch'
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     4
  > if '--binary' in sys.argv:
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     5
  >     print '--binary found !'
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     6
  > EOF
4645
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
11784
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     8
  $ echo "[ui]" >> $HGRCPATH
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
     9
  $ echo "patch=python ../patchtool.py" >> $HGRCPATH
4645
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    10
11784
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    11
  $ hg init a
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    12
  $ cd a
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    13
  $ echo a > a
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    14
  $ hg commit -Ama -d '1 0'
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    15
  adding a
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    16
  $ echo b >> a
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    17
  $ hg commit -Amb -d '2 0'
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    18
  $ cd ..
4645
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    19
11815
20a88cf7ee92 test-patch.t: typos
Christian Ebert <blacktrash@gmx.net>
parents: 11784
diff changeset
    20
This test checks that:
20a88cf7ee92 test-patch.t: typos
Christian Ebert <blacktrash@gmx.net>
parents: 11784
diff changeset
    21
 - custom patch commands with arguments actually work
11784
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    22
 - patch code does not try to add weird arguments like
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    23
 --binary when custom patch commands are used. For instance
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    24
 --binary is added by default under win32.
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    25
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    26
check custom patch options are honored
4645
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    27
11784
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    28
  $ hg --cwd a export -o ../a.diff tip
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    29
  $ hg clone -r 0 a b
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    30
  requesting all changes
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    31
  adding changesets
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    32
  adding manifests
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    33
  adding file changes
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    34
  added 1 changesets with 1 changes to 1 files
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    35
  updating to branch default
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    36
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4645
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    37
11784
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    38
  $ hg --cwd b import -v ../a.diff
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    39
  applying ../a.diff
8a1943685dfb tests: unify test-patch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 4645
diff changeset
    40
  Using custom patch
4645
0de7e6e27fe4 Add tests for ui.patch regression.
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    41
12645
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    42
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    43
Issue2417: hg import with # comments in description
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    44
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    45
Prepare source repo and patch:
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    46
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    47
  $ rm $HGRCPATH
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    48
  $ hg init c
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    49
  $ cd c
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    50
  $ echo 0 > a
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    51
  $ hg ci -A -m 0 a -d '0 0'
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    52
  $ echo 1 >> a
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    53
  $ cat << eof > log
12728
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    54
  > first line which can't start with '# '
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    55
  > # second line is a comment but that shouldn't be a problem.
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    56
  > A patch marker like this was more problematic even after d7452292f9d3:
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    57
  > # HG changeset patch
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    58
  > # User lines looks like this - but it _is_ just a comment
12645
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    59
  > eof
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    60
  $ hg ci -l log -d '0 0'
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    61
  $ hg export -o p 1
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    62
  $ cd ..
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    63
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    64
Clone and apply patch:
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    65
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    66
  $ hg clone -r 0 c d
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    67
  requesting all changes
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    68
  adding changesets
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    69
  adding manifests
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    70
  adding file changes
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    71
  added 1 changesets with 1 changes to 1 files
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    72
  updating to branch default
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    73
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    74
  $ cd d
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    75
  $ hg import ../c/p
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    76
  applying ../c/p
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    77
  $ hg log -v -r 1
12728
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    78
  changeset:   1:e8cc66fbbaa6
12645
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    79
  tag:         tip
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    80
  user:        test
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    81
  date:        Thu Jan 01 00:00:00 1970 +0000
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    82
  files:       a
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    83
  description:
12728
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    84
  first line which can't start with '# '
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    85
  # second line is a comment but that shouldn't be a problem.
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    86
  A patch marker like this was more problematic even after d7452292f9d3:
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    87
  # HG changeset patch
80a3d1121c10 import: only the first hg patch marker should be processed (issue2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 12645
diff changeset
    88
  # User lines looks like this - but it _is_ just a comment
12645
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    89
  
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    90
  
d7452292f9d3 import: don't strip '#' lines from patch descriptions (issue 2417)
Mads Kiilerich <mads@kiilerich.com>
parents: 11815
diff changeset
    91
  $ cd ..