tests/test-mq-qrename.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 24 Dec 2011 19:05:35 +0900
branchstable
changeset 15723 1581da01d5c4
parent 15322 c8e2a5ea7062
child 22521 3f948469bac0
permissions -rw-r--r--
windows: use normalized path as path to subrepo path to subrepo is used to identify or check location of subrepo. it should be normalized (in "/" delimiter form), because it is also used with narrowmatcher which uses only normalized path even on Windows environment. this patch applies "util.pconvert()" on path to subrepo (called "subpath") to normalize it. for this patch, referers of below were checked. - subrepo.state() - subrepo.itersubrepos() - subrepo.subrepo() - context.sub() - context.substate() typical usecase is: for subpath in ctx.substate: sub = ctx.sub(subpath) ... ctx.substate[subpath] .... in this case, normalization has no side effect, because keys given from substate are used as key itself. other cases shown below also seem to require subpath to be normalized. - path components are joined by "/", in "commands.forget()": for subpath in ctx.substate: subforget[subpath + '/' + fsub] = (fsub, sub) - normalized "file" is used to check below condition, in "commands.revert()", "localrepository.commit()", and "localrepository._checknested()" file in ctx.substate - substate.keys() is passed to dirstate.walk()/status() which use only normalized pathes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     1
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     2
  $ echo "[extensions]" >> $HGRCPATH
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     3
  $ echo "mq=" >> $HGRCPATH
3083
82c9d1aac308 Make qrename handle directory targets; closes #333.
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
     4
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     5
  $ hg init a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     6
  $ cd a
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     7
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     8
  $ echo 'base' > base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
     9
  $ hg ci -Ambase
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    10
  adding base
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    11
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    12
  $ hg qnew -mmqbase mqbase
3083
82c9d1aac308 Make qrename handle directory targets; closes #333.
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    13
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    14
  $ hg qrename mqbase renamed
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    15
  $ mkdir .hg/patches/foo
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    16
  $ hg qrename renamed foo
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    17
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    18
  $ hg qseries
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    19
  foo/renamed
3083
82c9d1aac308 Make qrename handle directory targets; closes #333.
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    20
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    21
  $ ls .hg/patches/foo
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    22
  renamed
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    23
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    24
  $ mkdir .hg/patches/bar
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    25
  $ hg qrename foo/renamed bar
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    26
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    27
  $ hg qseries
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    28
  bar/renamed
3083
82c9d1aac308 Make qrename handle directory targets; closes #333.
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    29
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    30
  $ ls .hg/patches/bar
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    31
  renamed
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    32
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    33
  $ hg qrename bar/renamed baz
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    34
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    35
  $ hg qseries
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    36
  baz
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    37
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    38
  $ ls .hg/patches/baz
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    39
  .hg/patches/baz
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    40
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    41
  $ hg qrename baz new/dir
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    42
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    43
  $ hg qseries
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    44
  new/dir
3083
82c9d1aac308 Make qrename handle directory targets; closes #333.
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
    45
12324
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    46
  $ ls .hg/patches/new/dir
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    47
  .hg/patches/new/dir
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    48
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    49
  $ cd ..
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    50
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    51
Test patch being renamed before committed:
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    52
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    53
  $ hg init b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    54
  $ cd b
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    55
  $ hg qinit -c
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    56
  $ hg qnew x
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    57
  $ hg qrename y
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    58
  $ hg qcommit -m rename
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    59
b701610f6c56 tests: unify some of test-mq*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11513
diff changeset
    60
  $ cd ..
6649
05a682c8907d test-mq-qrename: test added patch renaming
Patrick Mezard <pmezard@gmail.com>
parents: 3083
diff changeset
    61
12361
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    62
Test overlapping renames (issue2388)
6649
05a682c8907d test-mq-qrename: test added patch renaming
Patrick Mezard <pmezard@gmail.com>
parents: 3083
diff changeset
    63
12361
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    64
  $ hg init c
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    65
  $ cd c
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    66
  $ hg qinit -c
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    67
  $ echo a > a
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    68
  $ hg add
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    69
  adding a
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    70
  $ hg qnew patcha
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    71
  $ echo b > b
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    72
  $ hg add
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    73
  adding b
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    74
  $ hg qnew patchb
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    75
  $ hg ci --mq -m c1
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    76
  $ hg qrename patchb patchc
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    77
  $ hg qrename patcha patchb
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    78
  $ hg st --mq
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    79
  M series
15322
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
    80
  A patchb
12361
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    81
  A patchc
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    82
  R patcha
2754c8273132 Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12360 12324
diff changeset
    83
  $ cd ..
12875
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    84
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    85
Test renames with mq repo (issue2097)
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    86
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    87
  $ hg init issue2097
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    88
  $ cd issue2097
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    89
  $ hg qnew p0
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    90
  $ (cd .hg/patches && hg init)
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    91
  $ hg qren p0 p1
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    92
  $ hg debugstate --mq
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    93
  $ hg ci --mq -mq0
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    94
  nothing changed
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    95
  [1]
b59b5193d4d0 mq: qrename should not touch the dirstate if src is untracked (issue2460)
Patrick Mezard <pmezard@gmail.com>
parents: 12361
diff changeset
    96
  $ cd ..
15322
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
    97
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
    98
Test renaming to a folded patch (issue3058)
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
    99
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   100
  $ hg init issue3058
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   101
  $ cd issue3058
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   102
  $ hg init --mq
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   103
  $ echo a > a
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   104
  $ hg add a
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   105
  $ hg qnew adda
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   106
  $ echo b >> a
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   107
  $ hg qnew addb
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   108
  $ hg qpop
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   109
  popping addb
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   110
  now at: adda
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   111
  $ hg ci --mq -m "save mq"
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   112
  $ hg qfold addb
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   113
  $ hg qmv addb
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   114
  $ cat .hg/patches/addb
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   115
  # HG changeset patch
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   116
  # Parent 0000000000000000000000000000000000000000
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   117
  
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   118
  diff -r 000000000000 a
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   119
  --- /dev/null	* (glob)
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   120
  +++ b/a	* (glob)
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   121
  @@ -0,0 +1,2 @@
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   122
  +a
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   123
  +b
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   124
  $ cd ..
c8e2a5ea7062 mq: avoid data loss upon qfold + qmv (issue3058)
Patrick Mezard <pmezard@gmail.com>
parents: 12875
diff changeset
   125