tests/test-pull-r.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Sun, 31 Aug 2014 13:01:00 +0200
changeset 22611 2ff28e07d7d6
parent 16913 f2719b387380
child 25425 9263f86b9681
permissions -rw-r--r--
revert: properly back up added files with local modification These files were previously not backed up because the backup mechanism was not smart enough. This leads to data lose for the user since uncommitted contents were discarded. We now properly move the modified version to <filename>.orig before deleting it. We have to use a small hack to do a different action if "--no-backup" is specified. This is needed because the backup process is actually a move (not a copy) so the file is already missing when we backup. The internet kitten is a bit disapointed about that, but such is life. This patch concludes the "lets refactor revert" phases. We can now open the "Lets find stupid bug with renames and merge" phases. I'm sure that now that the code is clearer we could do it in another simpler way, but I consider the current improvement good enough for now.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     1
  $ hg init repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     2
  $ cd repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     3
  $ echo foo > foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     4
  $ hg ci -qAm 'add foo'
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     5
  $ echo >> foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     6
  $ hg ci -m 'change foo'
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     7
  $ hg up -qC 0
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     8
  $ echo bar > bar
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
     9
  $ hg ci -qAm 'add bar'
5221
8ede77c2d008 pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    10
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    11
  $ hg log
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    12
  changeset:   2:effea6de0384
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    13
  tag:         tip
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    14
  parent:      0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    15
  user:        test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    16
  date:        Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    17
  summary:     add bar
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    18
  
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    19
  changeset:   1:ed1b79f46b9a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    20
  user:        test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    21
  date:        Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    22
  summary:     change foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    23
  
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    24
  changeset:   0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    25
  user:        test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    26
  date:        Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    27
  summary:     add foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    28
  
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    29
  $ cd ..
14036
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    30
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    31
don't show "(+1 heads)" message when pulling closed head
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    32
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    33
  $ hg clone -q repo repo2
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    34
  $ hg clone -q repo2 repo3
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    35
  $ cd repo2
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    36
  $ hg up -q 0
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    37
  $ echo hello >> foo
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    38
  $ hg ci -mx1
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    39
  created new head
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    40
  $ hg ci -mx2 --close-branch
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    41
  $ cd ../repo3
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    42
  $ hg heads -q --closed
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    43
  2:effea6de0384
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    44
  1:ed1b79f46b9a
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    45
  $ hg pull
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 14162
diff changeset
    46
  pulling from $TESTTMP/repo2 (glob)
14036
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    47
  searching for changes
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    48
  adding changesets
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    49
  adding manifests
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    50
  adding file changes
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    51
  added 2 changesets with 1 changes to 1 files
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    52
  (run 'hg update' to get a working copy)
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    53
  $ hg heads -q --closed
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 14036
diff changeset
    54
  4:00cfe9073916
14036
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    55
  2:effea6de0384
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    56
  1:ed1b79f46b9a
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    57
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    58
  $ cd ..
90d997a812dc changegroup: do not count closed new heads (issue2697)
Adrian Buehlmann <adrian@cadifra.com>
parents: 13446
diff changeset
    59
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    60
  $ hg init copy
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    61
  $ cd copy
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    62
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    63
Pull a missing revision:
5221
8ede77c2d008 pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    64
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    65
  $ hg pull -qr missing ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    66
  abort: unknown revision 'missing'!
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12279
diff changeset
    67
  [255]
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    68
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    69
Pull multiple revisions with update:
6405
b8346ae5d64b commands: fix shadowed repo module
Patrick Mezard <pmezard@gmail.com>
parents: 5221
diff changeset
    70
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    71
  $ hg pull -qu -r 0 -r 1 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    72
  $ hg -q parents
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    73
  0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    74
  $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12316
diff changeset
    75
  repository tip rolled back to revision -1 (undo pull)
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12316
diff changeset
    76
  working directory now based on revision -1
10358
d42821cd5c96 pull: with -u and -r, update to the first revision given
Sune Foldager <cryo@cyanite.org>
parents: 8167
diff changeset
    77
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    78
  $ hg pull -qr 0 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    79
  $ hg log
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    80
  changeset:   0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    81
  tag:         tip
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    82
  user:        test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    83
  date:        Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    84
  summary:     add foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    85
  
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    86
  $ hg pull -qr 1 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    87
  $ hg log
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    88
  changeset:   1:ed1b79f46b9a
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    89
  tag:         tip
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    90
  user:        test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    91
  date:        Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    92
  summary:     change foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    93
  
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    94
  changeset:   0:bbd179dfa0a7
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    95
  user:        test
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    96
  date:        Thu Jan 01 00:00:00 1970 +0000
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    97
  summary:     add foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
    98
  
5221
8ede77c2d008 pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    99
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
   100
This used to abort: received changelog group is empty:
5221
8ede77c2d008 pull -r: pass the revisions as the heads argument of findincoming
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
   101
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
   102
  $ hg pull -qr 1 ../repo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 10358
diff changeset
   103
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16107
diff changeset
   104
  $ cd ..