tests/test-dumprevlog.t
author Patrick Mezard <pmezard@gmail.com>
Sat, 22 Jan 2011 16:15:40 +0100
branchstable
changeset 13287 d0e0d3d43e14
parent 12327 92e30e135581
child 13956 ffb5c09ba822
permissions -rw-r--r--
subrepo: compare svn subrepo state to last committed revision A subversion project revisions are a subset of the repository revisions, you can ask subversion to update a working directory from one revision to another without changing anything. Unfortunately, Mercurial will think the subrepository has changed and will commit it again. To avoid useless commits, we compare the subrepository state to its actual "parent" revision. To ensure ascending compatibility with existing subrepositories which might reference fake revisions, we also keep comparing with the subrepo working directory revision. NOTE: not sure if this should go in stable or not.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     1
Set vars:
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     2
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     3
  $ CONTRIBDIR=$TESTDIR/../contrib
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     4
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     5
Prepare repo-a:
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     6
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     7
  $ mkdir repo-a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     8
  $ cd repo-a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
     9
  $ hg init
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    10
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    11
  $ echo this is file a > a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    12
  $ hg add a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    13
  $ hg commit -m first
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    14
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    15
  $ echo adding to file a >> a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    16
  $ hg commit -m second
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    17
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    18
  $ echo adding more to file a >> a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    19
  $ hg commit -m third
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    20
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    21
  $ hg verify
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    22
  checking changesets
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    23
  checking manifests
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    24
  crosschecking files in changesets and manifests
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    25
  checking files
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    26
  1 files, 3 changesets, 3 total revisions
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    27
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    28
Dumping revlog of file a to stdout:
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    29
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    30
  $ python $CONTRIBDIR/dumprevlog .hg/store/data/a.i
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    31
  file: .hg/store/data/a.i
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    32
  node: 183d2312b35066fb6b3b449b84efc370d50993d0
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    33
  linkrev: 0
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    34
  parents: 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    35
  length: 15
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    36
  -start-
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    37
  this is file a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    38
  
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    39
  -end-
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    40
  node: b1047953b6e6b633c0d8197eaa5116fbdfd3095b
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    41
  linkrev: 1
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    42
  parents: 183d2312b35066fb6b3b449b84efc370d50993d0 0000000000000000000000000000000000000000
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    43
  length: 32
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    44
  -start-
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    45
  this is file a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    46
  adding to file a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    47
  
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    48
  -end-
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    49
  node: 8c4fd1f7129b8cdec6c7f58bf48fb5237a4030c1
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    50
  linkrev: 2
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    51
  parents: b1047953b6e6b633c0d8197eaa5116fbdfd3095b 0000000000000000000000000000000000000000
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    52
  length: 54
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    53
  -start-
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    54
  this is file a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    55
  adding to file a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    56
  adding more to file a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    57
  
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    58
  -end-
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    59
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    60
Dump all revlogs to file repo.dump:
7229
7946503ec76e introduce fncache repository layout
Adrian Buehlmann <adrian@cadifra.com>
parents: 6516
diff changeset
    61
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    62
  $ find .hg/store -name "*.i" | sort | xargs python $CONTRIBDIR/dumprevlog > ../repo.dump
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    63
  $ cd ..
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    64
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    65
Undumping into repo-b:
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    66
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    67
  $ mkdir repo-b
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    68
  $ cd repo-b
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    69
  $ hg init
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    70
  $ python $CONTRIBDIR/undumprevlog < ../repo.dump
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    71
  .hg/store/00changelog.i
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    72
  .hg/store/00manifest.i
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    73
  .hg/store/data/a.i
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    74
  $ cd ..
7229
7946503ec76e introduce fncache repository layout
Adrian Buehlmann <adrian@cadifra.com>
parents: 6516
diff changeset
    75
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    76
Rebuild fncache with clone --pull:
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    77
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    78
  $ hg clone --pull -U repo-b repo-c
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    79
  requesting all changes
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    80
  adding changesets
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    81
  adding manifests
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    82
  adding file changes
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    83
  added 3 changesets with 3 changes to 1 files
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    84
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    85
Verify:
7229
7946503ec76e introduce fncache repository layout
Adrian Buehlmann <adrian@cadifra.com>
parents: 6516
diff changeset
    86
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    87
  $ hg -R repo-c verify
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    88
  checking changesets
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    89
  checking manifests
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    90
  crosschecking files in changesets and manifests
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    91
  checking files
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    92
  1 files, 3 changesets, 3 total revisions
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    93
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    94
Compare repos:
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    95
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    96
  $ hg -R repo-c incoming repo-a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    97
  comparing with repo-a
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    98
  searching for changes
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
    99
  no changes found
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11867
diff changeset
   100
  [1]
6465
9b340e725c11 add tests for contrib/dumprevlog and undumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   101
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
   102
  $ hg -R repo-a incoming repo-c
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
   103
  comparing with repo-c
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
   104
  searching for changes
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
   105
  no changes found
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11867
diff changeset
   106
  [1]
11867
20bd477d0e89 tests: unify test-dumprevlog
Adrian Buehlmann <adrian@cadifra.com>
parents: 8167
diff changeset
   107