tests/test-branches.t
author Durham Goode <durham@fb.com>
Wed, 15 Mar 2017 15:48:57 -0700
changeset 31454 a5bad127128d
parent 31173 052e4f1ffce9
child 32949 13eebc189ff3
permissions -rw-r--r--
branchmap: handle nullrev in setcachedata 906be86990 recently changed to switch from: self._rbcrevs[rbcrevidx:rbcrevidx + _rbcrecsize] = rec to pack_into(_rbcrecfmt, self._rbcrevs, rbcrevidx, node, branchidx) This causes an exception if rbcrevidx is -1 (i.e. the nullrev). The old code handled this because python handles out of bound sets to arrays gracefully. The new code throws because the self._rbcrevs buffer isn't long enough to write 8 bytes to. Normally it would've been resized by the immediately preceding line, but because the 0 length buffer is greater than the idx (-1) times the size, no resize happens. Setting the branch for the nullrev doesn't make sense anyway, so let's skip it. This was caught by external tests in the Facebook extensions repo, but I've added a test here that catches the issue.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
     1
  $ hg init a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
     2
  $ cd a
31454
a5bad127128d branchmap: handle nullrev in setcachedata
Durham Goode <durham@fb.com>
parents: 31173
diff changeset
     3
a5bad127128d branchmap: handle nullrev in setcachedata
Durham Goode <durham@fb.com>
parents: 31173
diff changeset
     4
Verify checking branch of nullrev before the cache is created doesnt crash
a5bad127128d branchmap: handle nullrev in setcachedata
Durham Goode <durham@fb.com>
parents: 31173
diff changeset
     5
  $ hg log -r 'branch(.)' -T '{branch}\n'
a5bad127128d branchmap: handle nullrev in setcachedata
Durham Goode <durham@fb.com>
parents: 31173
diff changeset
     6
a5bad127128d branchmap: handle nullrev in setcachedata
Durham Goode <durham@fb.com>
parents: 31173
diff changeset
     7
Basic test
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
     8
  $ echo 'root' >root
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
     9
  $ hg add root
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    10
  $ hg commit -d '0 0' -m "Adding root node"
4675
6858a7477a5e Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
    11
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    12
  $ echo 'a' >a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    13
  $ hg add a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    14
  $ hg branch a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    15
  marked working directory as branch a
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 14162
diff changeset
    16
  (branches are permanent and global, did you want a bookmark?)
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    17
  $ hg commit -d '1 0' -m "Adding a branch"
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    18
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    19
  $ hg branch q
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    20
  marked working directory as branch q
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    21
  $ echo 'aa' >a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    22
  $ hg branch -C
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    23
  reset working directory to branch a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    24
  $ hg commit -d '2 0' -m "Adding to a branch"
4675
6858a7477a5e Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
    25
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    26
  $ hg update -C 0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    27
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    28
  $ echo 'b' >b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    29
  $ hg add b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    30
  $ hg branch b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    31
  marked working directory as branch b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    32
  $ hg commit -d '2 0' -m "Adding b branch"
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    33
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    34
  $ echo 'bh1' >bh1
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    35
  $ hg add bh1
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    36
  $ hg commit -d '3 0' -m "Adding b branch head 1"
4675
6858a7477a5e Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
    37
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    38
  $ hg update -C 2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    39
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    40
  $ echo 'bh2' >bh2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    41
  $ hg add bh2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    42
  $ hg commit -d '4 0' -m "Adding b branch head 2"
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    43
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    44
  $ echo 'c' >c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    45
  $ hg add c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    46
  $ hg branch c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    47
  marked working directory as branch c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    48
  $ hg commit -d '5 0' -m "Adding c branch"
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    49
17821
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    50
reserved names
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    51
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    52
  $ hg branch tip
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    53
  abort: the name 'tip' is reserved
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11969
diff changeset
    54
  [255]
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    55
  $ hg branch null
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    56
  abort: the name 'null' is reserved
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11969
diff changeset
    57
  [255]
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    58
  $ hg branch .
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
    59
  abort: the name '.' is reserved
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11969
diff changeset
    60
  [255]
7006
92d44ec32430 branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents: 6815
diff changeset
    61
17821
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    62
invalid characters
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    63
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    64
  $ hg branch 'foo:bar'
17850
71c1513fd560 scmutil: generalize message to make it more i18n-friendly
Wagner Bruna <wbruna@yahoo.com>
parents: 17821
diff changeset
    65
  abort: ':' cannot be used in a name
17821
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    66
  [255]
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    67
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    68
  $ hg branch 'foo
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    69
  > bar'
17850
71c1513fd560 scmutil: generalize message to make it more i18n-friendly
Wagner Bruna <wbruna@yahoo.com>
parents: 17821
diff changeset
    70
  abort: '\n' cannot be used in a name
17821
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    71
  [255]
361ab1e2086f scmutil: add bad character checking to checknewlabel
Kevin Bullock <kbullock@ringworld.org>
parents: 16913
diff changeset
    72
19180
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    73
trailing or leading spaces should be stripped before testing duplicates
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    74
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    75
  $ hg branch 'b '
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    76
  abort: a branch of the same name already exists
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    77
  (use 'hg update' to switch to it)
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    78
  [255]
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    79
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    80
  $ hg branch ' b'
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    81
  abort: a branch of the same name already exists
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    82
  (use 'hg update' to switch to it)
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    83
  [255]
12dbdd348bb0 branch: strip whitespace before testing known branch name
Yuya Nishihara <yuya@tcha.org>
parents: 18955
diff changeset
    84
17984
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    85
verify update will accept invalid legacy branch names
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    86
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    87
  $ hg init test-invalid-branch-name
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    88
  $ cd test-invalid-branch-name
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    89
  $ hg pull -u "$TESTDIR"/bundles/test-invalid-branch-name.hg
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    90
  pulling from *test-invalid-branch-name.hg (glob)
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    91
  requesting all changes
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    92
  adding changesets
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    93
  adding manifests
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    94
  adding file changes
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    95
  added 3 changesets with 3 changes to 2 files
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    96
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    97
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    98
  $ hg update '"colon:test"'
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
    99
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
   100
  $ cd ..
b74361cf7c0a update: allow update to existing branches with invalid names (issue3710)
Tim Henigan <tim.henigan@gmail.com>
parents: 17850
diff changeset
   101
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   102
  $ echo 'd' >d
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   103
  $ hg add d
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   104
  $ hg branch 'a branch name much longer than the default justification used by branches'
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   105
  marked working directory as branch a branch name much longer than the default justification used by branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   106
  $ hg commit -d '6 0' -m "Adding d branch"
4675
6858a7477a5e Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
   107
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   108
  $ hg branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   109
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   110
  b                              4:aee39cd168d0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   111
  c                              6:589736a22561 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   112
  a                              5:d8cbc61dbaa6 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   113
  default                        0:19709c5a4e75 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   114
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   115
-------
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   116
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   117
  $ hg branches -a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   118
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   119
  b                              4:aee39cd168d0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   120
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   121
--- Branch a
4675
6858a7477a5e Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
   122
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   123
  $ hg log -b a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   124
  changeset:   5:d8cbc61dbaa6
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   125
  branch:      a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   126
  parent:      2:881fe2b92ad0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   127
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   128
  date:        Thu Jan 01 00:00:04 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   129
  summary:     Adding b branch head 2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   130
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   131
  changeset:   2:881fe2b92ad0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   132
  branch:      a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   133
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   134
  date:        Thu Jan 01 00:00:02 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   135
  summary:     Adding to a branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   136
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   137
  changeset:   1:dd6b440dd85a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   138
  branch:      a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   139
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   140
  date:        Thu Jan 01 00:00:01 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   141
  summary:     Adding a branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   142
  
4675
6858a7477a5e Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
   143
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   144
---- Branch b
4675
6858a7477a5e Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
   145
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   146
  $ hg log -b b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   147
  changeset:   4:aee39cd168d0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   148
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   149
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   150
  date:        Thu Jan 01 00:00:03 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   151
  summary:     Adding b branch head 1
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   152
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   153
  changeset:   3:ac22033332d1
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   154
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   155
  parent:      0:19709c5a4e75
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   156
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   157
  date:        Thu Jan 01 00:00:02 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   158
  summary:     Adding b branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   159
  
10417
58e040c51231 branch: avoid using reserved tag names
Wagner Bruna <wbruna@softwareexpress.com.br>
parents: 8991
diff changeset
   160
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   161
---- going to test branch closing
6631
a2b13cac0922 Active branches fix (issue1104)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6067
diff changeset
   162
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   163
  $ hg branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   164
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   165
  b                              4:aee39cd168d0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   166
  c                              6:589736a22561 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   167
  a                              5:d8cbc61dbaa6 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   168
  default                        0:19709c5a4e75 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   169
  $ hg up -C b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   170
  2 files updated, 0 files merged, 4 files removed, 0 files unresolved
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   171
  $ echo 'xxx1' >> b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   172
  $ hg commit -d '7 0' -m 'adding cset to branch b'
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   173
  $ hg up -C aee39cd168d0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   174
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   175
  $ echo 'xxx2' >> b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   176
  $ hg commit -d '8 0' -m 'adding head to branch b'
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   177
  created new head
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   178
  $ echo 'xxx3' >> b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   179
  $ hg commit -d '9 0' -m 'adding another cset to branch b'
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   180
  $ hg branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   181
  b                             10:bfbe841b666e
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   182
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   183
  c                              6:589736a22561 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   184
  a                              5:d8cbc61dbaa6 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   185
  default                        0:19709c5a4e75 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   186
  $ hg heads --closed
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   187
  changeset:   10:bfbe841b666e
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   188
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   189
  tag:         tip
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   190
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   191
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   192
  summary:     adding another cset to branch b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   193
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   194
  changeset:   8:eebb944467c9
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   195
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   196
  parent:      4:aee39cd168d0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   197
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   198
  date:        Thu Jan 01 00:00:07 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   199
  summary:     adding cset to branch b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   200
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   201
  changeset:   7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   202
  branch:      a branch name much longer than the default justification used by branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   203
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   204
  date:        Thu Jan 01 00:00:06 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   205
  summary:     Adding d branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   206
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   207
  changeset:   6:589736a22561
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   208
  branch:      c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   209
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   210
  date:        Thu Jan 01 00:00:05 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   211
  summary:     Adding c branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   212
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   213
  changeset:   5:d8cbc61dbaa6
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   214
  branch:      a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   215
  parent:      2:881fe2b92ad0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   216
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   217
  date:        Thu Jan 01 00:00:04 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   218
  summary:     Adding b branch head 2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   219
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   220
  changeset:   0:19709c5a4e75
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   221
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   222
  date:        Thu Jan 01 00:00:00 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   223
  summary:     Adding root node
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   224
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   225
  $ hg heads
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   226
  changeset:   10:bfbe841b666e
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   227
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   228
  tag:         tip
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   229
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   230
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   231
  summary:     adding another cset to branch b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   232
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   233
  changeset:   8:eebb944467c9
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   234
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   235
  parent:      4:aee39cd168d0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   236
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   237
  date:        Thu Jan 01 00:00:07 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   238
  summary:     adding cset to branch b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   239
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   240
  changeset:   7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   241
  branch:      a branch name much longer than the default justification used by branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   242
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   243
  date:        Thu Jan 01 00:00:06 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   244
  summary:     Adding d branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   245
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   246
  changeset:   6:589736a22561
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   247
  branch:      c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   248
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   249
  date:        Thu Jan 01 00:00:05 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   250
  summary:     Adding c branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   251
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   252
  changeset:   5:d8cbc61dbaa6
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   253
  branch:      a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   254
  parent:      2:881fe2b92ad0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   255
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   256
  date:        Thu Jan 01 00:00:04 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   257
  summary:     Adding b branch head 2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   258
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   259
  changeset:   0:19709c5a4e75
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   260
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   261
  date:        Thu Jan 01 00:00:00 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   262
  summary:     Adding root node
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   263
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   264
  $ hg commit -d '9 0' --close-branch -m 'prune bad branch'
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   265
  $ hg branches -a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   266
  b                              8:eebb944467c9
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   267
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   268
  $ hg up -C b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   269
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   270
  $ hg commit -d '9 0' --close-branch -m 'close this part branch too'
19305
b500a663a2c7 commit: amending with --close-branch (issue3445)
Iulian Stana <julian.stana@gmail.com>
parents: 19180
diff changeset
   271
  $ hg commit -d '9 0' --close-branch -m 're-closing this branch'
b500a663a2c7 commit: amending with --close-branch (issue3445)
Iulian Stana <julian.stana@gmail.com>
parents: 19180
diff changeset
   272
  abort: can only close branch heads
b500a663a2c7 commit: amending with --close-branch (issue3445)
Iulian Stana <julian.stana@gmail.com>
parents: 19180
diff changeset
   273
  [255]
6067
57c1a7052982 Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents: 4675
diff changeset
   274
18955
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   275
  $ hg log -r tip --debug
19305
b500a663a2c7 commit: amending with --close-branch (issue3445)
Iulian Stana <julian.stana@gmail.com>
parents: 19180
diff changeset
   276
  changeset:   12:e3d49c0575d8fc2cb1cd6859c747c14f5f6d499f
18955
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   277
  branch:      b
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   278
  tag:         tip
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   279
  phase:       draft
19305
b500a663a2c7 commit: amending with --close-branch (issue3445)
Iulian Stana <julian.stana@gmail.com>
parents: 19180
diff changeset
   280
  parent:      8:eebb944467c9fb9651ed232aeaf31b3c0a7fc6c1
18955
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   281
  parent:      -1:0000000000000000000000000000000000000000
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   282
  manifest:    8:6f9ed32d2b310e391a4f107d5f0f071df785bfee
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   283
  user:        test
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   284
  date:        Thu Jan 01 00:00:09 1970 +0000
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   285
  extra:       branch=b
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   286
  extra:       close=1
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   287
  description:
19305
b500a663a2c7 commit: amending with --close-branch (issue3445)
Iulian Stana <julian.stana@gmail.com>
parents: 19180
diff changeset
   288
  close this part branch too
18955
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   289
  
f3245f22771c commit: allow closing "non-head" changesets
Mads Kiilerich <madski@unity3d.com>
parents: 17984
diff changeset
   290
  
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   291
--- b branch should be inactive
7657
405cacb06745 branch closing: add test for branch closing (and reopening)
John Mulligan <phlogistonjohn@asynchrono.us>
parents: 7006
diff changeset
   292
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   293
  $ hg branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   294
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   295
  c                              6:589736a22561 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   296
  a                              5:d8cbc61dbaa6 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   297
  default                        0:19709c5a4e75 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   298
  $ hg branches -c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   299
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   300
  b                             12:e3d49c0575d8 (closed)
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   301
  c                              6:589736a22561 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   302
  a                              5:d8cbc61dbaa6 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   303
  default                        0:19709c5a4e75 (inactive)
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   304
  $ hg branches -a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   305
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
16612
726dd0fc7cfe branches: quiet option observes other parameters
Travis Herrick <tthetoad@gmail.com>
parents: 15615
diff changeset
   306
  $ hg branches -q
726dd0fc7cfe branches: quiet option observes other parameters
Travis Herrick <tthetoad@gmail.com>
parents: 15615
diff changeset
   307
  a branch name much longer than the default justification used by branches
726dd0fc7cfe branches: quiet option observes other parameters
Travis Herrick <tthetoad@gmail.com>
parents: 15615
diff changeset
   308
  c
726dd0fc7cfe branches: quiet option observes other parameters
Travis Herrick <tthetoad@gmail.com>
parents: 15615
diff changeset
   309
  a
726dd0fc7cfe branches: quiet option observes other parameters
Travis Herrick <tthetoad@gmail.com>
parents: 15615
diff changeset
   310
  default
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   311
  $ hg heads b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   312
  no open branch heads found on branches b
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11969
diff changeset
   313
  [1]
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   314
  $ hg heads --closed b
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   315
  changeset:   12:e3d49c0575d8
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   316
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   317
  tag:         tip
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   318
  parent:      8:eebb944467c9
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   319
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   320
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   321
  summary:     close this part branch too
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   322
  
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   323
  changeset:   11:d3f163457ebf
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   324
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   325
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   326
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   327
  summary:     prune bad branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   328
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   329
  $ echo 'xxx4' >> b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   330
  $ hg commit -d '9 0' -m 'reopen branch with a change'
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   331
  reopening closed branch head 12
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   332
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   333
--- branch b is back in action
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   334
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   335
  $ hg branches -a
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   336
  b                             13:e23b5505d1ad
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   337
  a branch name much longer than the default justification used by branches 7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   338
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   339
---- test heads listings
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   340
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   341
  $ hg heads
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   342
  changeset:   13:e23b5505d1ad
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   343
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   344
  tag:         tip
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   345
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   346
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   347
  summary:     reopen branch with a change
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   348
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   349
  changeset:   7:10ff5895aa57
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   350
  branch:      a branch name much longer than the default justification used by branches
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   351
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   352
  date:        Thu Jan 01 00:00:06 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   353
  summary:     Adding d branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   354
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   355
  changeset:   6:589736a22561
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   356
  branch:      c
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   357
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   358
  date:        Thu Jan 01 00:00:05 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   359
  summary:     Adding c branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   360
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   361
  changeset:   5:d8cbc61dbaa6
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   362
  branch:      a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   363
  parent:      2:881fe2b92ad0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   364
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   365
  date:        Thu Jan 01 00:00:04 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   366
  summary:     Adding b branch head 2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   367
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   368
  changeset:   0:19709c5a4e75
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   369
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   370
  date:        Thu Jan 01 00:00:00 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   371
  summary:     Adding root node
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   372
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   373
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   374
branch default
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   375
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   376
  $ hg heads default
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   377
  changeset:   0:19709c5a4e75
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   378
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   379
  date:        Thu Jan 01 00:00:00 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   380
  summary:     Adding root node
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   381
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   382
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   383
branch a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   384
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   385
  $ hg heads a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   386
  changeset:   5:d8cbc61dbaa6
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   387
  branch:      a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   388
  parent:      2:881fe2b92ad0
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   389
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   390
  date:        Thu Jan 01 00:00:04 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   391
  summary:     Adding b branch head 2
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   392
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   393
  $ hg heads --active a
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   394
  no open branch heads found on branches a
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11969
diff changeset
   395
  [1]
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   396
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   397
branch b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   398
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   399
  $ hg heads b
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   400
  changeset:   13:e23b5505d1ad
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   401
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   402
  tag:         tip
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   403
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   404
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   405
  summary:     reopen branch with a change
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   406
  
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   407
  $ hg heads --closed b
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   408
  changeset:   13:e23b5505d1ad
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   409
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   410
  tag:         tip
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   411
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   412
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   413
  summary:     reopen branch with a change
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   414
  
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13987
diff changeset
   415
  changeset:   11:d3f163457ebf
11868
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   416
  branch:      b
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   417
  user:        test
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   418
  date:        Thu Jan 01 00:00:09 1970 +0000
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   419
  summary:     prune bad branch
062052b0d737 tests: unify test-branches
Martin Geisler <mg@lazybytes.net>
parents: 10417
diff changeset
   420
  
11969
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   421
default branch colors:
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   422
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   423
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   424
  > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   425
  > color =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   426
  > [color]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   427
  > mode = ansi
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   428
  > EOF
11969
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   429
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   430
  $ hg up -C c
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   431
  3 files updated, 0 files merged, 2 files removed, 0 files unresolved
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   432
  $ hg commit -d '9 0' --close-branch -m 'reclosing this branch'
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   433
  $ hg up -C b
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   434
  2 files updated, 0 files merged, 3 files removed, 0 files unresolved
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   435
  $ hg branches --color=always
22704
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   436
  \x1b[0;32mb\x1b[0m\x1b[0;33m                             13:e23b5505d1ad\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   437
  \x1b[0;0ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;33m 7:10ff5895aa57\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   438
  \x1b[0;0ma\x1b[0m\x1b[0;33m                              5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   439
  \x1b[0;0mdefault\x1b[0m\x1b[0;33m                        0:19709c5a4e75\x1b[0m (inactive) (esc)
11969
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   440
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   441
default closed branch color:
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   442
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   443
  $ hg branches --color=always --closed
22704
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   444
  \x1b[0;32mb\x1b[0m\x1b[0;33m                             13:e23b5505d1ad\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   445
  \x1b[0;0ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;33m 7:10ff5895aa57\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   446
  \x1b[0;30;1mc\x1b[0m\x1b[0;33m                             14:f894c25619d3\x1b[0m (closed) (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   447
  \x1b[0;0ma\x1b[0m\x1b[0;33m                              5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   448
  \x1b[0;0mdefault\x1b[0m\x1b[0;33m                        0:19709c5a4e75\x1b[0m (inactive) (esc)
11969
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   449
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   450
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   451
  > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   452
  > color =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   453
  > [color]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   454
  > branches.active = green
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   455
  > branches.closed = blue
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   456
  > branches.current = red
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   457
  > branches.inactive = magenta
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   458
  > log.changeset = cyan
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 22705
diff changeset
   459
  > EOF
11969
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   460
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   461
custom branch colors:
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   462
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   463
  $ hg branches --color=always
22704
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   464
  \x1b[0;31mb\x1b[0m\x1b[0;36m                             13:e23b5505d1ad\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   465
  \x1b[0;32ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;36m 7:10ff5895aa57\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   466
  \x1b[0;35ma\x1b[0m\x1b[0;36m                              5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   467
  \x1b[0;35mdefault\x1b[0m\x1b[0;36m                        0:19709c5a4e75\x1b[0m (inactive) (esc)
11969
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   468
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   469
custom closed branch color:
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   470
52ec5c813723 color: enable branches support
Jeremy Whitlock <jcscoobyrs@gmail.com>
parents: 11868
diff changeset
   471
  $ hg branches --color=always --closed
22704
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   472
  \x1b[0;31mb\x1b[0m\x1b[0;36m                             13:e23b5505d1ad\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   473
  \x1b[0;32ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;36m 7:10ff5895aa57\x1b[0m (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   474
  \x1b[0;34mc\x1b[0m\x1b[0;36m                             14:f894c25619d3\x1b[0m (closed) (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   475
  \x1b[0;35ma\x1b[0m\x1b[0;36m                              5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
386339ffe421 branches: merge white space to format string
Yuya Nishihara <yuya@tcha.org>
parents: 22703
diff changeset
   476
  \x1b[0;35mdefault\x1b[0m\x1b[0;36m                        0:19709c5a4e75\x1b[0m (inactive) (esc)
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16612
diff changeset
   477
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   478
template output:
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   479
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   480
  $ hg branches -Tjson --closed
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   481
  [
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   482
   {
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   483
    "active": true,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   484
    "branch": "b",
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   485
    "closed": false,
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   486
    "current": true,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   487
    "node": "e23b5505d1ad24aab6f84fd8c7cb8cd8e5e93be0",
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   488
    "rev": 13
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   489
   },
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   490
   {
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   491
    "active": true,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   492
    "branch": "a branch name much longer than the default justification used by branches",
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   493
    "closed": false,
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   494
    "current": false,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   495
    "node": "10ff5895aa5793bd378da574af8cec8ea408d831",
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   496
    "rev": 7
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   497
   },
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   498
   {
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   499
    "active": false,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   500
    "branch": "c",
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   501
    "closed": true,
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   502
    "current": false,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   503
    "node": "f894c25619d3f1484639d81be950e0a07bc6f1f6",
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   504
    "rev": 14
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   505
   },
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   506
   {
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   507
    "active": false,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   508
    "branch": "a",
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   509
    "closed": false,
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   510
    "current": false,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   511
    "node": "d8cbc61dbaa6dc817175d1e301eecb863f280832",
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   512
    "rev": 5
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   513
   },
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   514
   {
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   515
    "active": false,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   516
    "branch": "default",
22705
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   517
    "closed": false,
d4869b280cd6 branches: include active, closed and current flags in template output
Yuya Nishihara <yuya@tcha.org>
parents: 22704
diff changeset
   518
    "current": false,
22703
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   519
    "node": "19709c5a4e75bf938f8e349aff97438539bb729e",
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   520
    "rev": 0
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   521
   }
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   522
  ]
bd6e95cb82b4 branches: port to generic templater
Yuya Nishihara <yuya@tcha.org>
parents: 19305
diff changeset
   523
29816
034412ca28c3 templater: fix if() to not evaluate False as bool('False')
Yuya Nishihara <yuya@tcha.org>
parents: 29744
diff changeset
   524
  $ hg branches --closed -T '{if(closed, "{branch}\n")}'
034412ca28c3 templater: fix if() to not evaluate False as bool('False')
Yuya Nishihara <yuya@tcha.org>
parents: 29744
diff changeset
   525
  c
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   526
31173
052e4f1ffce9 branches: populate all template keywords in formatter
Yuya Nishihara <yuya@tcha.org>
parents: 29816
diff changeset
   527
  $ hg branches -T '{word(0, branch)}: {desc|firstline}\n'
052e4f1ffce9 branches: populate all template keywords in formatter
Yuya Nishihara <yuya@tcha.org>
parents: 29816
diff changeset
   528
  b: reopen branch with a change
052e4f1ffce9 branches: populate all template keywords in formatter
Yuya Nishihara <yuya@tcha.org>
parents: 29816
diff changeset
   529
  a: Adding d branch
052e4f1ffce9 branches: populate all template keywords in formatter
Yuya Nishihara <yuya@tcha.org>
parents: 29816
diff changeset
   530
  a: Adding b branch head 2
052e4f1ffce9 branches: populate all template keywords in formatter
Yuya Nishihara <yuya@tcha.org>
parents: 29816
diff changeset
   531
  default: Adding root node
052e4f1ffce9 branches: populate all template keywords in formatter
Yuya Nishihara <yuya@tcha.org>
parents: 29816
diff changeset
   532
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   533
Tests of revision branch name caching
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   534
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   535
We rev branch cache is updated automatically. In these tests we use a trick to
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   536
trigger rebuilds. We remove the branch head cache and run 'hg head' to cause a
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   537
rebuild that also will populate the rev branch cache.
23787
678f53865c68 revset: use localrepo revbranchcache for branch name filtering
Mads Kiilerich <madski@unity3d.com>
parents: 23172
diff changeset
   538
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   539
revision branch cache is created when building the branch head cache
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   540
  $ rm -rf .hg/cache; hg head a -T '{rev}\n'
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   541
  5
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   542
  $ f --hexdump --size .hg/cache/rbc-*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   543
  .hg/cache/rbc-names-v1: size=87
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   544
  0000: 64 65 66 61 75 6c 74 00 61 00 62 00 63 00 61 20 |default.a.b.c.a |
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   545
  0010: 62 72 61 6e 63 68 20 6e 61 6d 65 20 6d 75 63 68 |branch name much|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   546
  0020: 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 74 68 65 | longer than the|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   547
  0030: 20 64 65 66 61 75 6c 74 20 6a 75 73 74 69 66 69 | default justifi|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   548
  0040: 63 61 74 69 6f 6e 20 75 73 65 64 20 62 79 20 62 |cation used by b|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   549
  0050: 72 61 6e 63 68 65 73                            |ranches|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   550
  .hg/cache/rbc-revs-v1: size=120
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   551
  0000: 19 70 9c 5a 00 00 00 00 dd 6b 44 0d 00 00 00 01 |.p.Z.....kD.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   552
  0010: 88 1f e2 b9 00 00 00 01 ac 22 03 33 00 00 00 02 |.........".3....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   553
  0020: ae e3 9c d1 00 00 00 02 d8 cb c6 1d 00 00 00 01 |................|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   554
  0030: 58 97 36 a2 00 00 00 03 10 ff 58 95 00 00 00 04 |X.6.......X.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   555
  0040: ee bb 94 44 00 00 00 02 5f 40 61 bb 00 00 00 02 |...D...._@a.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   556
  0050: bf be 84 1b 00 00 00 02 d3 f1 63 45 80 00 00 02 |..........cE....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   557
  0060: e3 d4 9c 05 80 00 00 02 e2 3b 55 05 00 00 00 02 |.........;U.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   558
  0070: f8 94 c2 56 80 00 00 03                         |...V....|
24372
577f65cf1a57 revbranchcache: add test for when the cache is not writable
Durham Goode <durham@fb.com>
parents: 23862
diff changeset
   559
577f65cf1a57 revbranchcache: add test for when the cache is not writable
Durham Goode <durham@fb.com>
parents: 23862
diff changeset
   560
no errors when revbranchcache is not writable
577f65cf1a57 revbranchcache: add test for when the cache is not writable
Durham Goode <durham@fb.com>
parents: 23862
diff changeset
   561
577f65cf1a57 revbranchcache: add test for when the cache is not writable
Durham Goode <durham@fb.com>
parents: 23862
diff changeset
   562
  $ echo >> .hg/cache/rbc-revs-v1
28145
cfa0037448f4 tests: change branches test to work cross platform
timeless <timeless@mozdev.org>
parents: 25295
diff changeset
   563
  $ mv .hg/cache/rbc-revs-v1 .hg/cache/rbc-revs-v1_
cfa0037448f4 tests: change branches test to work cross platform
timeless <timeless@mozdev.org>
parents: 25295
diff changeset
   564
  $ mkdir .hg/cache/rbc-revs-v1
24372
577f65cf1a57 revbranchcache: add test for when the cache is not writable
Durham Goode <durham@fb.com>
parents: 23862
diff changeset
   565
  $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n'
577f65cf1a57 revbranchcache: add test for when the cache is not writable
Durham Goode <durham@fb.com>
parents: 23862
diff changeset
   566
  5
28145
cfa0037448f4 tests: change branches test to work cross platform
timeless <timeless@mozdev.org>
parents: 25295
diff changeset
   567
  $ rmdir .hg/cache/rbc-revs-v1
cfa0037448f4 tests: change branches test to work cross platform
timeless <timeless@mozdev.org>
parents: 25295
diff changeset
   568
  $ mv .hg/cache/rbc-revs-v1_ .hg/cache/rbc-revs-v1
24372
577f65cf1a57 revbranchcache: add test for when the cache is not writable
Durham Goode <durham@fb.com>
parents: 23862
diff changeset
   569
29744
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   570
no errors when wlock cannot be acquired
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   571
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   572
#if unix-permissions
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   573
  $ mv .hg/cache/rbc-revs-v1 .hg/cache/rbc-revs-v1_
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   574
  $ rm -f .hg/cache/branch*
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   575
  $ chmod 555 .hg
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   576
  $ hg head a -T '{rev}\n'
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   577
  5
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   578
  $ chmod 755 .hg
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   579
  $ mv .hg/cache/rbc-revs-v1_ .hg/cache/rbc-revs-v1
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   580
#endif
0d588332ad2c branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29615
diff changeset
   581
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   582
recovery from invalid cache revs file with trailing data
23787
678f53865c68 revset: use localrepo revbranchcache for branch name filtering
Mads Kiilerich <madski@unity3d.com>
parents: 23172
diff changeset
   583
  $ echo >> .hg/cache/rbc-revs-v1
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   584
  $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n' --debug
24378
9347c15d8136 revbranchcache: write cache even during read operations
Durham Goode <durham@fb.com>
parents: 24372
diff changeset
   585
  5
23862
7aa1405528a3 branchcache: add debug output whenever cache files use truncate
Mads Kiilerich <madski@unity3d.com>
parents: 23861
diff changeset
   586
  truncating cache/rbc-revs-v1 to 120
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   587
  $ f --size .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   588
  .hg/cache/rbc-revs-v1: size=120
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   589
recovery from invalid cache file with partial last record
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   590
  $ mv .hg/cache/rbc-revs-v1 .
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   591
  $ f -qDB 119 rbc-revs-v1 > .hg/cache/rbc-revs-v1
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   592
  $ f --size .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   593
  .hg/cache/rbc-revs-v1: size=119
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   594
  $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n' --debug
24378
9347c15d8136 revbranchcache: write cache even during read operations
Durham Goode <durham@fb.com>
parents: 24372
diff changeset
   595
  5
23862
7aa1405528a3 branchcache: add debug output whenever cache files use truncate
Mads Kiilerich <madski@unity3d.com>
parents: 23861
diff changeset
   596
  truncating cache/rbc-revs-v1 to 112
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   597
  $ f --size .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   598
  .hg/cache/rbc-revs-v1: size=120
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   599
recovery from invalid cache file with missing record - no truncation
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   600
  $ mv .hg/cache/rbc-revs-v1 .
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   601
  $ f -qDB 112 rbc-revs-v1 > .hg/cache/rbc-revs-v1
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   602
  $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n' --debug
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   603
  5
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   604
  $ f --size .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   605
  .hg/cache/rbc-revs-v1: size=120
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   606
recovery from invalid cache file with some bad records
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   607
  $ mv .hg/cache/rbc-revs-v1 .
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   608
  $ f -qDB 8 rbc-revs-v1 > .hg/cache/rbc-revs-v1
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   609
  $ f --size .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   610
  .hg/cache/rbc-revs-v1: size=8
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   611
  $ f -qDB 112 rbc-revs-v1 >> .hg/cache/rbc-revs-v1
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   612
  $ f --size .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   613
  .hg/cache/rbc-revs-v1: size=120
24378
9347c15d8136 revbranchcache: write cache even during read operations
Durham Goode <durham@fb.com>
parents: 24372
diff changeset
   614
  $ hg log -r 'branch(.)' -T '{rev} ' --debug
29615
a2a380e2750f rbc: fix superfluous rebuilding from scratch - don't abuse self._rbcnamescount
Mads Kiilerich <madski@unity3d.com>
parents: 29614
diff changeset
   615
  history modification detected - truncating revision branch cache to revision 13
a2a380e2750f rbc: fix superfluous rebuilding from scratch - don't abuse self._rbcnamescount
Mads Kiilerich <madski@unity3d.com>
parents: 29614
diff changeset
   616
  history modification detected - truncating revision branch cache to revision 1
24378
9347c15d8136 revbranchcache: write cache even during read operations
Durham Goode <durham@fb.com>
parents: 24372
diff changeset
   617
  3 4 8 9 10 11 12 13 truncating cache/rbc-revs-v1 to 8
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   618
  $ rm -f .hg/cache/branch* && hg head a -T '{rev}\n' --debug
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   619
  5
24378
9347c15d8136 revbranchcache: write cache even during read operations
Durham Goode <durham@fb.com>
parents: 24372
diff changeset
   620
  truncating cache/rbc-revs-v1 to 104
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   621
  $ f --size --hexdump --bytes=16 .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   622
  .hg/cache/rbc-revs-v1: size=120
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   623
  0000: 19 70 9c 5a 00 00 00 00 dd 6b 44 0d 00 00 00 01 |.p.Z.....kD.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   624
cache is updated when committing
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   625
  $ hg branch i-will-regret-this
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   626
  marked working directory as branch i-will-regret-this
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   627
  $ hg ci -m regrets
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   628
  $ f --size .hg/cache/rbc-*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   629
  .hg/cache/rbc-names-v1: size=106
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   630
  .hg/cache/rbc-revs-v1: size=128
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   631
update after rollback - the cache will be correct but rbc-names will will still
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   632
contain the branch name even though it no longer is used
23787
678f53865c68 revset: use localrepo revbranchcache for branch name filtering
Mads Kiilerich <madski@unity3d.com>
parents: 23172
diff changeset
   633
  $ hg up -qr '.^'
678f53865c68 revset: use localrepo revbranchcache for branch name filtering
Mads Kiilerich <madski@unity3d.com>
parents: 23172
diff changeset
   634
  $ hg rollback -qf
23861
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   635
  $ f --size --hexdump .hg/cache/rbc-*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   636
  .hg/cache/rbc-names-v1: size=106
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   637
  0000: 64 65 66 61 75 6c 74 00 61 00 62 00 63 00 61 20 |default.a.b.c.a |
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   638
  0010: 62 72 61 6e 63 68 20 6e 61 6d 65 20 6d 75 63 68 |branch name much|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   639
  0020: 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 74 68 65 | longer than the|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   640
  0030: 20 64 65 66 61 75 6c 74 20 6a 75 73 74 69 66 69 | default justifi|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   641
  0040: 63 61 74 69 6f 6e 20 75 73 65 64 20 62 79 20 62 |cation used by b|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   642
  0050: 72 61 6e 63 68 65 73 00 69 2d 77 69 6c 6c 2d 72 |ranches.i-will-r|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   643
  0060: 65 67 72 65 74 2d 74 68 69 73                   |egret-this|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   644
  .hg/cache/rbc-revs-v1: size=120
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   645
  0000: 19 70 9c 5a 00 00 00 00 dd 6b 44 0d 00 00 00 01 |.p.Z.....kD.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   646
  0010: 88 1f e2 b9 00 00 00 01 ac 22 03 33 00 00 00 02 |.........".3....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   647
  0020: ae e3 9c d1 00 00 00 02 d8 cb c6 1d 00 00 00 01 |................|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   648
  0030: 58 97 36 a2 00 00 00 03 10 ff 58 95 00 00 00 04 |X.6.......X.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   649
  0040: ee bb 94 44 00 00 00 02 5f 40 61 bb 00 00 00 02 |...D...._@a.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   650
  0050: bf be 84 1b 00 00 00 02 d3 f1 63 45 80 00 00 02 |..........cE....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   651
  0060: e3 d4 9c 05 80 00 00 02 e2 3b 55 05 00 00 00 02 |.........;U.....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   652
  0070: f8 94 c2 56 80 00 00 03                         |...V....|
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   653
cache is updated/truncated when stripping - it is thus very hard to get in a
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   654
situation where the cache is out of sync and the hash check detects it
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   655
  $ hg --config extensions.strip= strip -r tip --nob
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   656
  $ f --size .hg/cache/rbc-revs*
01426cad66dc tests: rework revision branch cache tests
Mads Kiilerich <madski@unity3d.com>
parents: 23787
diff changeset
   657
  .hg/cache/rbc-revs-v1: size=112
23787
678f53865c68 revset: use localrepo revbranchcache for branch name filtering
Mads Kiilerich <madski@unity3d.com>
parents: 23172
diff changeset
   658
28558
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   659
cache is rebuilt when corruption is detected
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   660
  $ echo > .hg/cache/rbc-names-v1
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   661
  $ hg log -r '5:&branch(.)' -T '{rev} ' --debug
29615
a2a380e2750f rbc: fix superfluous rebuilding from scratch - don't abuse self._rbcnamescount
Mads Kiilerich <madski@unity3d.com>
parents: 29614
diff changeset
   662
  referenced branch names not found - rebuilding revision branch cache from scratch
28558
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   663
  8 9 10 11 12 13 truncating cache/rbc-revs-v1 to 40
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   664
  $ f --size --hexdump .hg/cache/rbc-*
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   665
  .hg/cache/rbc-names-v1: size=79
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   666
  0000: 62 00 61 00 63 00 61 20 62 72 61 6e 63 68 20 6e |b.a.c.a branch n|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   667
  0010: 61 6d 65 20 6d 75 63 68 20 6c 6f 6e 67 65 72 20 |ame much longer |
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   668
  0020: 74 68 61 6e 20 74 68 65 20 64 65 66 61 75 6c 74 |than the default|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   669
  0030: 20 6a 75 73 74 69 66 69 63 61 74 69 6f 6e 20 75 | justification u|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   670
  0040: 73 65 64 20 62 79 20 62 72 61 6e 63 68 65 73    |sed by branches|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   671
  .hg/cache/rbc-revs-v1: size=112
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   672
  0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   673
  0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   674
  0020: 00 00 00 00 00 00 00 00 d8 cb c6 1d 00 00 00 01 |................|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   675
  0030: 58 97 36 a2 00 00 00 02 10 ff 58 95 00 00 00 03 |X.6.......X.....|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   676
  0040: ee bb 94 44 00 00 00 00 5f 40 61 bb 00 00 00 00 |...D...._@a.....|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   677
  0050: bf be 84 1b 00 00 00 00 d3 f1 63 45 80 00 00 00 |..........cE....|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   678
  0060: e3 d4 9c 05 80 00 00 00 e2 3b 55 05 00 00 00 00 |.........;U.....|
bcd106d456c4 cache: rebuild branch cache from scratch when inconsistencies are detected
Mads Kiilerich <madski@unity3d.com>
parents: 28145
diff changeset
   679
29603
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   680
Test that cache files are created and grows correctly:
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   681
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   682
  $ rm .hg/cache/rbc*
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   683
  $ hg log -r "5 & branch(5)" -T "{rev}\n"
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   684
  5
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   685
  $ f --size --hexdump .hg/cache/rbc-*
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   686
  .hg/cache/rbc-names-v1: size=1
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   687
  0000: 61                                              |a|
29604
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   688
  .hg/cache/rbc-revs-v1: size=112
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   689
  0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   690
  0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   691
  0020: 00 00 00 00 00 00 00 00 d8 cb c6 1d 00 00 00 00 |................|
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   692
  0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   693
  0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   694
  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
db0095c83344 rbc: fix invalid rbc-revs entries caused by missing cache growth
Mads Kiilerich <madski@unity3d.com>
parents: 29603
diff changeset
   695
  0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
29603
b181a650a886 rbc: test case for cache file not growing correctly, causing bad new entries
Mads Kiilerich <madski@unity3d.com>
parents: 28558
diff changeset
   696
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16612
diff changeset
   697
  $ cd ..
29614
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   698
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   699
Test for multiple incorrect branch cache entries:
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   700
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   701
  $ hg init b
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   702
  $ cd b
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   703
  $ touch f
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   704
  $ hg ci -Aqmf
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   705
  $ echo >> f
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   706
  $ hg ci -Amf
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   707
  $ hg branch -q branch
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   708
  $ hg ci -Amf
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   709
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   710
  $ f --size --hexdump .hg/cache/rbc-*
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   711
  .hg/cache/rbc-names-v1: size=14
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   712
  0000: 64 65 66 61 75 6c 74 00 62 72 61 6e 63 68       |default.branch|
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   713
  .hg/cache/rbc-revs-v1: size=24
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   714
  0000: 66 e5 f5 aa 00 00 00 00 fa 4c 04 e5 00 00 00 00 |f........L......|
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   715
  0010: 56 46 78 69 00 00 00 01                         |VFxi....|
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   716
  $ : > .hg/cache/rbc-revs-v1
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   717
29615
a2a380e2750f rbc: fix superfluous rebuilding from scratch - don't abuse self._rbcnamescount
Mads Kiilerich <madski@unity3d.com>
parents: 29614
diff changeset
   718
No superfluous rebuilding of cache:
29614
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   719
  $ hg log -r "branch(null)&branch(branch)" --debug
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   720
  $ f --size --hexdump .hg/cache/rbc-*
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   721
  .hg/cache/rbc-names-v1: size=14
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   722
  0000: 64 65 66 61 75 6c 74 00 62 72 61 6e 63 68       |default.branch|
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   723
  .hg/cache/rbc-revs-v1: size=24
29615
a2a380e2750f rbc: fix superfluous rebuilding from scratch - don't abuse self._rbcnamescount
Mads Kiilerich <madski@unity3d.com>
parents: 29614
diff changeset
   724
  0000: 66 e5 f5 aa 00 00 00 00 fa 4c 04 e5 00 00 00 00 |f........L......|
29614
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   725
  0010: 56 46 78 69 00 00 00 01                         |VFxi....|
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   726
5c79bae8166f rbc: test case for incorrect and too aggressive invalidation of invalid caches
Mads Kiilerich <madski@unity3d.com>
parents: 29604
diff changeset
   727
  $ cd ..