tests/test-mq-git.t
author Manuel Jacob <me@manueljacob.de>
Sun, 22 May 2022 03:50:34 +0200
changeset 49269 395f28064826
parent 34090 987a85c42b08
permissions -rw-r--r--
worker: avoid potential partial write of pickled data Previously, the code wrote the pickled data using os.write(). However, os.write() can write less bytes than passed to it. To trigger the problem, the pickled data had to be larger than 2147479552 bytes on my system. Instead, open a file object and pass it to pickle.dump(). This also has the advantage that it doesn’t buffer the whole pickled data in memory. Note that the opened file must be buffered because pickle doesn’t support unbuffered streams because unbuffered streams’ write() method might write less bytes than passed to it (like os.write()) but pickle.dump() relies on that all bytes are written (see https://github.com/python/cpython/issues/93050). The side effect of using a file object and a with statement is that wfd is explicitly closed now while it seems like before it was implicitly closed by process exit.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10190
9c2c94934f0d mq: upgrade to git patch when necessary (issue767)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
# Test the plumbing of mq.git option
9c2c94934f0d mq: upgrade to git patch when necessary (issue767)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
# Automatic upgrade itself is tested elsewhere.
9c2c94934f0d mq: upgrade to git patch when necessary (issue767)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22521
diff changeset
     4
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22521
diff changeset
     5
  > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22521
diff changeset
     6
  > mq =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22521
diff changeset
     7
  > [diff]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22521
diff changeset
     8
  > nodates = 1
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22521
diff changeset
     9
  > EOF
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    10
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    11
  $ hg init repo-auto
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    12
  $ cd repo-auto
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    13
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    14
git=auto: regular patch creation:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    15
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    16
  $ echo a > a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    17
  $ hg add a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    18
  $ hg qnew -d '0 0' -f adda
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    19
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    20
  $ cat .hg/patches/adda
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    21
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
    22
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
    23
  # Parent  0000000000000000000000000000000000000000
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    24
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    25
  diff -r 000000000000 -r ef8dafc9fa4c a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    26
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    27
  +++ b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    28
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    29
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    30
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    31
git=auto: git patch creation with copy:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    32
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    33
  $ hg cp a b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    34
  $ hg qnew -d '0 0' -f copy
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    35
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    36
  $ cat .hg/patches/copy
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    37
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
    38
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
    39
  # Parent  ef8dafc9fa4caff80f6e243eb0171bcd60c455b4
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    40
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    41
  diff --git a/a b/b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    42
  copy from a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    43
  copy to b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    44
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    45
git=auto: git patch when using --git:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    46
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    47
  $ echo regular > regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    48
  $ hg add regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    49
  $ hg qnew -d '0 0' --git -f git
10190
9c2c94934f0d mq: upgrade to git patch when necessary (issue767)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    50
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    51
  $ cat .hg/patches/git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    52
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
    53
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
    54
  # Parent  99586d5f048c399e20f81cee41fbb3809c0e735d
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    55
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    56
  diff --git a/regular b/regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    57
  new file mode 100644
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    58
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    59
  +++ b/regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    60
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    61
  +regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    62
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    63
git=auto: regular patch after qrefresh without --git:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    64
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    65
  $ hg qrefresh -d '0 0'
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    66
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    67
  $ cat .hg/patches/git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    68
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
    69
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
    70
  # Parent  99586d5f048c399e20f81cee41fbb3809c0e735d
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    71
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    72
  diff -r 99586d5f048c regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    73
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    74
  +++ b/regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    75
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    76
  +regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    77
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    78
  $ cd ..
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    79
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    80
  $ hg init repo-keep
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    81
  $ cd repo-keep
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    82
  $ echo '[mq]' > .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    83
  $ echo 'git = KEEP' >> .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    84
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    85
git=keep: git patch with --git:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    86
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    87
  $ echo a > a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    88
  $ hg add a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    89
  $ hg qnew -d '0 0' -f --git git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    90
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    91
  $ cat .hg/patches/git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    92
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
    93
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
    94
  # Parent  0000000000000000000000000000000000000000
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    95
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    96
  diff --git a/a b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    97
  new file mode 100644
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    98
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
    99
  +++ b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   100
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   101
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   102
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   103
git=keep: git patch after qrefresh without --git:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   104
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   105
  $ echo a >> a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   106
  $ hg qrefresh -d '0 0'
10190
9c2c94934f0d mq: upgrade to git patch when necessary (issue767)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   107
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   108
  $ cat .hg/patches/git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   109
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
   110
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
   111
  # Parent  0000000000000000000000000000000000000000
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   112
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   113
  diff --git a/a b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   114
  new file mode 100644
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   115
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   116
  +++ b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   117
  @@ -0,0 +1,2 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   118
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   119
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   120
  $ cd ..
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   121
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   122
  $ hg init repo-yes
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   123
  $ cd repo-yes
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   124
  $ echo '[mq]' > .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   125
  $ echo 'git = yes' >> .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   126
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   127
git=yes: git patch:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   128
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   129
  $ echo a > a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   130
  $ hg add a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   131
  $ hg qnew -d '0 0' -f git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   132
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   133
  $ cat .hg/patches/git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   134
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
   135
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
   136
  # Parent  0000000000000000000000000000000000000000
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   137
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   138
  diff --git a/a b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   139
  new file mode 100644
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   140
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   141
  +++ b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   142
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   143
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   144
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   145
git=yes: git patch after qrefresh:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   146
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   147
  $ echo a >> a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   148
  $ hg qrefresh -d '0 0'
10190
9c2c94934f0d mq: upgrade to git patch when necessary (issue767)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   149
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   150
  $ cat .hg/patches/git
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   151
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
   152
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
   153
  # Parent  0000000000000000000000000000000000000000
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   154
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   155
  diff --git a/a b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   156
  new file mode 100644
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   157
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   158
  +++ b/a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   159
  @@ -0,0 +1,2 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   160
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   161
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   162
  $ cd ..
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   163
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   164
  $ hg init repo-no
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   165
  $ cd repo-no
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   166
  $ echo '[diff]' > .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   167
  $ echo 'git = True' >> .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   168
  $ echo '[mq]' > .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   169
  $ echo 'git = False' >> .hg/hgrc
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   170
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   171
git=no: regular patch with copy:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   172
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   173
  $ echo a > a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   174
  $ hg add a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   175
  $ hg qnew -d '0 0' -f adda
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   176
  $ hg cp a b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   177
  $ hg qnew -d '0 0' -f regular
10190
9c2c94934f0d mq: upgrade to git patch when necessary (issue767)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   178
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   179
  $ cat .hg/patches/regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   180
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
   181
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
   182
  # Parent  ef8dafc9fa4caff80f6e243eb0171bcd60c455b4
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   183
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   184
  diff -r ef8dafc9fa4c -r a70404f79ba3 b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   185
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   186
  +++ b/b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   187
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   188
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   189
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   190
git=no: regular patch after qrefresh with copy:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   191
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   192
  $ hg cp a c
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   193
  $ hg qrefresh -d '0 0'
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   194
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   195
  $ cat .hg/patches/regular
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   196
  # HG changeset patch
22520
9d4ebb75de53 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 12324
diff changeset
   197
  # Date 0 0
22521
3f948469bac0 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com>
parents: 22520
diff changeset
   198
  # Parent  ef8dafc9fa4caff80f6e243eb0171bcd60c455b4
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   199
  
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   200
  diff -r ef8dafc9fa4c b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   201
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   202
  +++ b/b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   203
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   204
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   205
  diff -r ef8dafc9fa4c c
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   206
  --- /dev/null
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   207
  +++ b/c
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   208
  @@ -0,0 +1,1 @@
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   209
  +a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   210
34089
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   211
Test how [diff] configuration influence and cause invalid or lossy patches:
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   212
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   213
  $ cat <<EOF >> .hg/hgrc
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   214
  > [mq]
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   215
  > git = AUTO
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   216
  > [diff]
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   217
  > nobinary = True
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   218
  > noprefix = True
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   219
  > showfunc = True
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   220
  > ignorews = True
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   221
  > ignorewsamount = True
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   222
  > ignoreblanklines = True
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   223
  > unified = 1
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   224
  > EOF
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   225
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   226
  $ echo ' a' > a
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   227
  $ hg qnew prepare -d '0 0'
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   228
  $ echo '  a' > a
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   229
  $ printf '\0' > b
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   230
  $ echo >> c
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   231
  $ hg qnew diff -d '0 0'
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   232
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   233
  $ cat .hg/patches/prepare
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   234
  # HG changeset patch
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   235
  # Date 0 0
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   236
  # Parent  cf0bfe72686a47d8d7d7b4529a3adb8b0b449a9f
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   237
  
34090
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   238
  diff -r cf0bfe72686a -r fb9c4422b0f3 a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   239
  --- a/a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   240
  +++ b/a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   241
  @@ -1,1 +1,1 @@
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   242
  -a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   243
  + a
34089
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   244
  $ cat .hg/patches/diff
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   245
  # HG changeset patch
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   246
  # Date 0 0
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   247
  # Parent  fb9c4422b0f37dd576522dd9a3f99b825c177efe
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   248
  
34090
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   249
  diff --git a/a b/a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   250
  --- a/a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   251
  +++ b/a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   252
  @@ -1,1 +1,1 @@
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   253
  - a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   254
  +  a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   255
  diff --git a/b b/b
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   256
  index 78981922613b2afb6025042ff6bd878ac1994e85..f76dd238ade08917e6712764a16a22005a50573d
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   257
  GIT binary patch
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   258
  literal 1
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   259
  Ic${MZ000310RR91
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   260
  
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   261
  diff --git a/c b/c
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   262
  --- a/c
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   263
  +++ b/c
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   264
  @@ -1,1 +1,2 @@
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   265
   a
987a85c42b08 mq: create non-lossy patches, also with custom global diff configuration
Mads Kiilerich <mads@kiilerich.com>
parents: 34089
diff changeset
   266
  +
34089
e05e50fbdeaf mq: test coverage of how [diff] configuration influence can break mq patches
Mads Kiilerich <mads@kiilerich.com>
parents: 23172
diff changeset
   267
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   268
  $ cd ..
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10397
diff changeset
   269