tests/test-tag.t
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Tue, 28 Mar 2017 06:38:09 +0200
changeset 31994 b36318e6d2ef
parent 30247 27addd7e8eca
child 31995 fe9c4d614600
permissions -rw-r--r--
track-tags: introduce first bits of tags tracking during transaction This changeset introduces detection of tags changes during transaction. When this happens a 'tag_moved=1' argument is set for hooks, similar to what we do for bookmarks and phases. This code is disabled by default as there are still various performance concerns. Some require a smarter use of our existing tag caches and some other require rework around the transaction logic to skip execution when unneeded. These performance improvements have been delayed, I would like to be able to experiment and stabilize the feature behavior first. Later changesets will push the concept further and provide a way for hooks to know what are the actual changes introduced by the transaction. Similar work is needed for the other families of changes (bookmark, phase, obsolescence, etc). Upgrade of the transaction logic will likely be performed at the same time. The current code can report some false positive when .hgtags file changes but resulting tags are unchanged. This will be fixed in the next changeset. For testing, we simply globally enable a hook in the tag test as all the possible tag update cases should exist there. A couple of them show the false positive mentioned above. See in code documentation for more details.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     1
  $ cat >> $HGRCPATH << EOF
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     2
  > [experimental]
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     3
  > hook-track-tags=1
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     4
  > [hooks]
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     5
  > txnclose.track-tag=${TESTTMP}/taghook.sh
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     6
  > EOF
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     7
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     8
  $ cat << EOF > taghook.sh
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
     9
  > #!/bin/sh
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    10
  > # escape the "$" otherwise the test runner interpret it when writting the
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    11
  > # file...
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    12
  > if [ -n "\$HG_TAG_MOVED" ]; then
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    13
  >     echo 'hook: tag changes detected'
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    14
  > fi
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    15
  > EOF
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    16
  $ chmod +x taghook.sh
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    17
  $ hg init test
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    18
  $ cd test
401
af4848f83e68 From: Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
mpm@selenic.com
parents:
diff changeset
    19
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    20
  $ echo a > a
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    21
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    22
  $ hg commit -m "test"
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    23
  $ hg history
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    24
  changeset:   0:acb14030fe0a
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    25
  tag:         tip
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    26
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    27
  date:        Thu Jan 01 00:00:00 1970 +0000
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    28
  summary:     test
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    29
  
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    30
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    31
  $ hg tag ' '
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    32
  abort: tag names cannot consist entirely of whitespace
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
    33
  [255]
8417
39cf453da958 clone: try updating to the actual changeset specified in options
Brett Carter <brett@rdnzl.net>
parents: 6321
diff changeset
    34
21418
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
    35
(this tests also that editor is not invoked, if '--edit' is not
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
    36
specified)
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
    37
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
    38
  $ HGEDITOR=cat hg tag "bleah"
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    39
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    40
  $ hg history
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    41
  changeset:   1:d4f0d2909abc
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    42
  tag:         tip
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    43
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    44
  date:        Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    45
  summary:     Added tag bleah for changeset acb14030fe0a
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    46
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    47
  changeset:   0:acb14030fe0a
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    48
  tag:         bleah
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    49
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    50
  date:        Thu Jan 01 00:00:00 1970 +0000
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    51
  summary:     test
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    52
  
11692
52e4ac3e63f7 tag: do not allow tag names to consist solely of whitespace (issue2307)
Benjamin Pollack <benjamin@bitquabit.com>
parents: 11185
diff changeset
    53
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    54
  $ echo foo >> .hgtags
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    55
  $ hg tag "bleah2"
22680
8c65cc0f3c6b tag: use an abort hint
Matt Mackall <mpm@selenic.com>
parents: 21930
diff changeset
    56
  abort: working copy of .hgtags is changed
8c65cc0f3c6b tag: use an abort hint
Matt Mackall <mpm@selenic.com>
parents: 21930
diff changeset
    57
  (please commit .hgtags manually)
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    58
  [255]
401
af4848f83e68 From: Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
mpm@selenic.com
parents:
diff changeset
    59
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    60
  $ hg revert .hgtags
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    61
  $ hg tag -r 0 x y z y y z
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    62
  abort: tag names must be unique
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    63
  [255]
17813
813db1dccc05 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org>
parents: 17260
diff changeset
    64
  $ hg tag tap nada dot tip
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    65
  abort: the name 'tip' is reserved
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    66
  [255]
17813
813db1dccc05 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org>
parents: 17260
diff changeset
    67
  $ hg tag .
813db1dccc05 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org>
parents: 17260
diff changeset
    68
  abort: the name '.' is reserved
813db1dccc05 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org>
parents: 17260
diff changeset
    69
  [255]
813db1dccc05 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org>
parents: 17260
diff changeset
    70
  $ hg tag null
813db1dccc05 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org>
parents: 17260
diff changeset
    71
  abort: the name 'null' is reserved
813db1dccc05 test-tag: test that all reserved names are rejected
Kevin Bullock <kbullock@ringworld.org>
parents: 17260
diff changeset
    72
  [255]
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    73
  $ hg tag "bleah"
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    74
  abort: tag 'bleah' already exists (use -f to force)
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    75
  [255]
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    76
  $ hg tag "blecch" "bleah"
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    77
  abort: tag 'bleah' already exists (use -f to force)
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    78
  [255]
6321
55ba3bc5b8fd tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents: 4933
diff changeset
    79
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    80
  $ hg tag --remove "blecch"
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    81
  abort: tag 'blecch' does not exist
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    82
  [255]
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    83
  $ hg tag --remove "bleah" "blecch" "blough"
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    84
  abort: tag 'blecch' does not exist
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    85
  [255]
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
    86
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    87
  $ hg tag -r 0 "bleah0"
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    88
  hook: tag changes detected
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    89
  $ hg tag -l -r 1 "bleah1"
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    90
  $ hg tag gack gawk gorp
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    91
  hook: tag changes detected
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    92
  $ hg tag -f gack
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    93
  hook: tag changes detected
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
    94
  $ hg tag --remove gack gorp
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
    95
  hook: tag changes detected
6321
55ba3bc5b8fd tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents: 4933
diff changeset
    96
13399
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
    97
  $ hg tag "bleah "
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
    98
  abort: tag 'bleah' already exists (use -f to force)
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
    99
  [255]
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   100
  $ hg tag " bleah"
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   101
  abort: tag 'bleah' already exists (use -f to force)
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   102
  [255]
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   103
  $ hg tag " bleah"
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   104
  abort: tag 'bleah' already exists (use -f to force)
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   105
  [255]
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   106
  $ hg tag -r 0 "  bleahbleah  "
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   107
  hook: tag changes detected
13399
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   108
  $ hg tag -r 0 " bleah bleah "
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   109
  hook: tag changes detected
13399
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   110
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   111
  $ cat .hgtags
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   112
  acb14030fe0a21b60322c440ad2d20cf7685a376 bleah
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   113
  acb14030fe0a21b60322c440ad2d20cf7685a376 bleah0
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   114
  336fccc858a4eb69609a291105009e484a6b6b8d gack
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   115
  336fccc858a4eb69609a291105009e484a6b6b8d gawk
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   116
  336fccc858a4eb69609a291105009e484a6b6b8d gorp
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   117
  336fccc858a4eb69609a291105009e484a6b6b8d gack
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   118
  799667b6f2d9b957f73fa644a918c2df22bab58f gack
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   119
  799667b6f2d9b957f73fa644a918c2df22bab58f gack
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   120
  0000000000000000000000000000000000000000 gack
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   121
  336fccc858a4eb69609a291105009e484a6b6b8d gorp
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   122
  0000000000000000000000000000000000000000 gorp
13399
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   123
  acb14030fe0a21b60322c440ad2d20cf7685a376 bleahbleah
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   124
  acb14030fe0a21b60322c440ad2d20cf7685a376 bleah bleah
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   125
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   126
  $ cat .hg/localtags
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   127
  d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1
1596
41366b7d6709 fix 'hg tag <tagname> <revision>
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1561
diff changeset
   128
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   129
tagging on a non-head revision
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   130
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   131
  $ hg update 0
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   132
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   133
  $ hg tag -l localblah
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   134
  $ hg tag "foobar"
30247
27addd7e8eca tag: clarify warning about making a tag on a branch head
Nathan Goldbaum <ngoldbau@illinois.edu>
parents: 26998
diff changeset
   135
  abort: working directory is not at a branch head (use -f to force)
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   136
  [255]
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   137
  $ hg tag -f "foobar"
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   138
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   139
  $ cat .hgtags
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   140
  acb14030fe0a21b60322c440ad2d20cf7685a376 foobar
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   141
  $ cat .hg/localtags
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   142
  d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   143
  acb14030fe0a21b60322c440ad2d20cf7685a376 localblah
1596
41366b7d6709 fix 'hg tag <tagname> <revision>
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1561
diff changeset
   144
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   145
  $ hg tag -l 'xx
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   146
  > newline'
17850
71c1513fd560 scmutil: generalize message to make it more i18n-friendly
Wagner Bruna <wbruna@yahoo.com>
parents: 17813
diff changeset
   147
  abort: '\n' cannot be used in a name
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   148
  [255]
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   149
  $ hg tag -l 'xx:xx'
17850
71c1513fd560 scmutil: generalize message to make it more i18n-friendly
Wagner Bruna <wbruna@yahoo.com>
parents: 17813
diff changeset
   150
  abort: ':' cannot be used in a name
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   151
  [255]
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   152
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   153
cloning local tags
2647
46182568b4ce change 'hg tag' to tag the parent rev instead of tip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
   154
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   155
  $ cd ..
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   156
  $ hg -R test log -r0:5
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   157
  changeset:   0:acb14030fe0a
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   158
  tag:         bleah
13399
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   159
  tag:         bleah bleah
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   160
  tag:         bleah0
13399
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   161
  tag:         bleahbleah
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   162
  tag:         foobar
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   163
  tag:         localblah
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   164
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   165
  date:        Thu Jan 01 00:00:00 1970 +0000
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   166
  summary:     test
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   167
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   168
  changeset:   1:d4f0d2909abc
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   169
  tag:         bleah1
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   170
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   171
  date:        Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   172
  summary:     Added tag bleah for changeset acb14030fe0a
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   173
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   174
  changeset:   2:336fccc858a4
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   175
  tag:         gawk
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   176
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   177
  date:        Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   178
  summary:     Added tag bleah0 for changeset acb14030fe0a
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   179
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   180
  changeset:   3:799667b6f2d9
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   181
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   182
  date:        Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   183
  summary:     Added tag gack, gawk, gorp for changeset 336fccc858a4
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   184
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   185
  changeset:   4:154eeb7c0138
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   186
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   187
  date:        Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   188
  summary:     Added tag gack for changeset 799667b6f2d9
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   189
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   190
  changeset:   5:b4bb47aaff09
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   191
  user:        test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   192
  date:        Thu Jan 01 00:00:00 1970 +0000
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   193
  summary:     Removed tag gack, gorp
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   194
  
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   195
  $ hg clone -q -rbleah1 test test1
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   196
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   197
  $ hg -R test1 parents --style=compact
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   198
  1[tip]   d4f0d2909abc   1970-01-01 00:00 +0000   test
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   199
    Added tag bleah for changeset acb14030fe0a
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   200
  
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   201
  $ hg clone -q -r5 test#bleah1 test2
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   202
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   203
  $ hg -R test2 parents --style=compact
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   204
  5[tip]   b4bb47aaff09   1970-01-01 00:00 +0000   test
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   205
    Removed tag gack, gorp
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   206
  
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   207
  $ hg clone -q -U test#bleah1 test3
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   208
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   209
  $ hg -R test3 parents --style=compact
4892
d69b1fb111b9 tag: handle .hgtags and .hg/localtags with missing final newline (issue 601)
Bryan O'Sullivan <bos@serpentine.com>
parents: 2647
diff changeset
   210
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   211
  $ cd test
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   212
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12365
diff changeset
   213
Issue601: hg tag doesn't do the right thing if .hgtags or localtags
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12365
diff changeset
   214
doesn't end with EOL
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   215
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   216
  $ python << EOF
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   217
  > f = file('.hg/localtags'); last = f.readlines()[-1][:-1]; f.close()
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   218
  > f = file('.hg/localtags', 'w'); f.write(last); f.close()
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   219
  > EOF
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   220
  $ cat .hg/localtags; echo
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   221
  acb14030fe0a21b60322c440ad2d20cf7685a376 localblah
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   222
  $ hg tag -l localnewline
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   223
  $ cat .hg/localtags; echo
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   224
  acb14030fe0a21b60322c440ad2d20cf7685a376 localblah
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   225
  c2899151f4e76890c602a2597a650a72666681bf localnewline
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   226
  
11063
eb23c876c111 tag: warn users about tag/branch possible name conflicts
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8417
diff changeset
   227
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   228
  $ python << EOF
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   229
  > f = file('.hgtags'); last = f.readlines()[-1][:-1]; f.close()
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   230
  > f = file('.hgtags', 'w'); f.write(last); f.close()
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   231
  > EOF
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   232
  $ hg ci -m'broken manual edit of .hgtags'
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   233
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   234
  $ cat .hgtags; echo
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   235
  acb14030fe0a21b60322c440ad2d20cf7685a376 foobar
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   236
  $ hg tag newline
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   237
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   238
  $ cat .hgtags; echo
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   239
  acb14030fe0a21b60322c440ad2d20cf7685a376 foobar
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11788
diff changeset
   240
  a0eea09de1eeec777b46f2085260a373b2fbc293 newline
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   241
  
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   242
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   243
tag and branch using same name
11185
6d7cf82453be tag: add -e/--edit option for modifying the commit message
Steve Losh <steve@stevelosh.com>
parents: 11063
diff changeset
   244
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   245
  $ hg branch tag-and-branch-same-name
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   246
  marked working directory as branch tag-and-branch-same-name
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 14162
diff changeset
   247
  (branches are permanent and global, did you want a bookmark?)
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   248
  $ hg ci -m"discouraged"
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   249
  $ hg tag tag-and-branch-same-name
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   250
  warning: tag tag-and-branch-same-name conflicts with existing branch name
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   251
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   252
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   253
test custom commit messages
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   254
16901
5b89700cce30 tests: consistently use a HGEDITOR pattern that works with msys on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16680
diff changeset
   255
  $ cat > editor.sh << '__EOF__'
21418
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   256
  > echo "==== before editing"
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   257
  > cat "$1"
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   258
  > echo "===="
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   259
  > echo "custom tag message" > "$1"
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   260
  > echo "second line" >> "$1"
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   261
  > __EOF__
20767
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   262
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   263
at first, test saving last-message.txt
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   264
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   265
(test that editor is not invoked before transaction starting)
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   266
20767
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   267
  $ cat > .hg/hgrc << '__EOF__'
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   268
  > [hooks]
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   269
  > # this failure occurs before editor invocation
20767
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   270
  > pretag.test-saving-lastmessage = false
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   271
  > __EOF__
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   272
  $ rm -f .hg/last-message.txt
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   273
  $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg tag custom-tag -e
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   274
  abort: pretag.test-saving-lastmessage hook exited with status 1
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   275
  [255]
21930
a5168eb9b2bc tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21922
diff changeset
   276
  $ test -f .hg/last-message.txt
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   277
  [1]
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   278
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   279
(test that editor is invoked and commit message is saved into
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   280
"last-message.txt")
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   281
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   282
  $ cat >> .hg/hgrc << '__EOF__'
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   283
  > [hooks]
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   284
  > pretag.test-saving-lastmessage =
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   285
  > # this failure occurs after editor invocation
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   286
  > pretxncommit.unexpectedabort = false
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   287
  > __EOF__
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   288
21418
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   289
(this tests also that editor is invoked, if '--edit' is specified,
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   290
regardless of '--message')
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   291
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   292
  $ rm -f .hg/last-message.txt
21418
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   293
  $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg tag custom-tag -e -m "foo bar"
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   294
  ==== before editing
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   295
  foo bar
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   296
  
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   297
  
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   298
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   299
  HG: Leave message empty to abort commit.
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   300
  HG: --
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   301
  HG: user: test
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   302
  HG: branch 'tag-and-branch-same-name'
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   303
  HG: changed .hgtags
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   304
  ====
26998
4414d500604f localrepo: put bookmark move following commit in one transaction
Laurent Charignon <lcharignon@fb.com>
parents: 26485
diff changeset
   305
  note: commit message saved in .hg/last-message.txt
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   306
  transaction abort!
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   307
  rollback completed
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   308
  abort: pretxncommit.unexpectedabort hook exited with status 1
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   309
  [255]
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   310
  $ cat .hg/last-message.txt
20767
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   311
  custom tag message
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   312
  second line
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   313
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   314
  $ cat >> .hg/hgrc << '__EOF__'
20767
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   315
  > [hooks]
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   316
  > pretxncommit.unexpectedabort =
20767
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   317
  > __EOF__
21237
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   318
  $ hg status .hgtags
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   319
  M .hgtags
0054a77f49df localrepo: add "editor" argument to "tag()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20767
diff changeset
   320
  $ hg revert --no-backup -q .hgtags
20767
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   321
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   322
then, test custom commit message itself
bcfc4f625e57 tag: save manually edited commit message into ".hg/last-message.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19123
diff changeset
   323
16901
5b89700cce30 tests: consistently use a HGEDITOR pattern that works with msys on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16680
diff changeset
   324
  $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg tag custom-tag -e
21418
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   325
  ==== before editing
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   326
  Added tag custom-tag for changeset 75a534207be6
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   327
  
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   328
  
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   329
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   330
  HG: Leave message empty to abort commit.
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   331
  HG: --
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   332
  HG: user: test
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   333
  HG: branch 'tag-and-branch-same-name'
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   334
  HG: changed .hgtags
d4b8fc753455 tag: use the editor gotten by "getcommiteditor()" instead of "ui.edit()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21237
diff changeset
   335
  ====
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   336
  hook: tag changes detected
11788
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   337
  $ hg log -l1 --template "{desc}\n"
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   338
  custom tag message
b3de1438028d tests: unify test-tag
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11692
diff changeset
   339
  second line
13133
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   340
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   341
13133
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   342
local tag with .hgtags modified
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   343
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   344
  $ hg tag hgtags-modified
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   345
  hook: tag changes detected
13133
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   346
  $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 13399
diff changeset
   347
  repository tip rolled back to revision 13 (undo commit)
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 13399
diff changeset
   348
  working directory now based on revision 13
13133
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   349
  $ hg st
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   350
  M .hgtags
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   351
  ? .hgtags.orig
16901
5b89700cce30 tests: consistently use a HGEDITOR pattern that works with msys on windows
Mads Kiilerich <mads@kiilerich.com>
parents: 16680
diff changeset
   352
  ? editor.sh
13133
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   353
  $ hg tag --local baz
c1492615cdee tag: don't check .hgtags status if --local passed
Kevin Bullock <kbullock@ringworld.org>
parents: 12642
diff changeset
   354
  $ hg revert --no-backup .hgtags
13134
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   355
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   356
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   357
tagging when at named-branch-head that's not a topo-head
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   358
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   359
  $ hg up default
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   360
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   361
  $ hg merge -t internal:local
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   362
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   363
  (branch merge, don't forget to commit)
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   364
  $ hg ci -m 'merge named branch'
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   365
  hook: tag changes detected
13399
eff102facb15 tag: add tests for tags with whitespace (issue2174)
Afuna
parents: 13159
diff changeset
   366
  $ hg up 13
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   367
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   368
  $ hg tag new-topo-head
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   369
  hook: tag changes detected
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   370
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   371
tagging on null rev
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   372
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   373
  $ hg up null
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   374
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   375
  $ hg tag nullrev
30247
27addd7e8eca tag: clarify warning about making a tag on a branch head
Nathan Goldbaum <ngoldbau@illinois.edu>
parents: 26998
diff changeset
   376
  abort: working directory is not at a branch head (use -f to force)
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   377
  [255]
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   378
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   379
  $ hg init empty
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   380
  $ hg tag -R empty nullrev
18906
ef7068173a22 tag: clarify cryptic error message when tagging null revision
Mads Kiilerich <madski@unity3d.com>
parents: 17850
diff changeset
   381
  abort: cannot tag null revision
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   382
  [255]
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   383
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   384
  $ hg tag -R empty -r 00000000000 -f nulltag
18906
ef7068173a22 tag: clarify cryptic error message when tagging null revision
Mads Kiilerich <madski@unity3d.com>
parents: 17850
diff changeset
   385
  abort: cannot tag null revision
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   386
  [255]
13135
1c1ca9d393f4 tag: abort if not at a branch head (issue2552)
Kevin Bullock <kbullock@ringworld.org>
parents: 13134
diff changeset
   387
13134
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   388
  $ cd ..
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   389
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   390
tagging on an uncommitted merge (issue2542)
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   391
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   392
  $ hg init repo-tag-uncommitted-merge
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   393
  $ cd repo-tag-uncommitted-merge
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   394
  $ echo c1 > f1
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   395
  $ hg ci -Am0
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   396
  adding f1
13159
3172da69ff37 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com>
parents: 13135
diff changeset
   397
  $ echo c2 > f2
3172da69ff37 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com>
parents: 13135
diff changeset
   398
  $ hg ci -Am1
3172da69ff37 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com>
parents: 13135
diff changeset
   399
  adding f2
3172da69ff37 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com>
parents: 13135
diff changeset
   400
  $ hg co -q 0
13134
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   401
  $ hg branch b1
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   402
  marked working directory as branch b1
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 14162
diff changeset
   403
  (branches are permanent and global, did you want a bookmark?)
13159
3172da69ff37 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com>
parents: 13135
diff changeset
   404
  $ hg ci -m2
13134
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   405
  $ hg up default
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   406
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   407
  $ hg merge b1
13159
3172da69ff37 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com>
parents: 13135
diff changeset
   408
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
13134
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   409
  (branch merge, don't forget to commit)
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   410
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   411
  $ hg tag t1
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   412
  abort: uncommitted merge
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   413
  [255]
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   414
  $ hg status
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   415
  $ hg tag --rev 1 t2
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   416
  abort: uncommitted merge
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   417
  [255]
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   418
  $ hg tag --rev 1 --local t3
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   419
  $ hg tags -v
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13446
diff changeset
   420
  tip                                2:2a156e8887cc
13159
3172da69ff37 tests: eliminate fast-forward merge in test-tag
Matt Mackall <mpm@selenic.com>
parents: 13135
diff changeset
   421
  t3                                 1:c3adabd1a5f4 local
13134
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   422
ea3c93b53fdb tag: fix uncommitted merge check and error message (issue2542)
Kevin Bullock <kbullock@ringworld.org>
parents: 13133
diff changeset
   423
  $ cd ..
16680
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   424
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   425
commit hook on tag used to be run without write lock - issue3344
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   426
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   427
  $ hg init repo-tag
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   428
  $ touch repo-tag/test
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   429
  $ hg -R repo-tag commit -A -m "test"
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   430
  adding test
16680
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   431
  $ hg init repo-tag-target
23951
42f3042cc17f tests: invoke hg command indirectly from shell script to run on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23139
diff changeset
   432
  $ cat > "$TESTTMP/issue3344.sh" <<EOF
42f3042cc17f tests: invoke hg command indirectly from shell script to run on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23139
diff changeset
   433
  > hg push "$TESTTMP/repo-tag-target"
42f3042cc17f tests: invoke hg command indirectly from shell script to run on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23139
diff changeset
   434
  > EOF
42f3042cc17f tests: invoke hg command indirectly from shell script to run on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23139
diff changeset
   435
  $ hg -R repo-tag --config hooks.commit="sh ../issue3344.sh" tag tag
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   436
  hook: tag changes detected
19123
a91894c8064a check-code: add more path sep glob checks
Matt Mackall <mpm@selenic.com>
parents: 18906
diff changeset
   437
  pushing to $TESTTMP/repo-tag-target (glob)
16680
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   438
  searching for changes
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   439
  adding changesets
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   440
  adding manifests
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   441
  adding file changes
17260
e432fb4b4221 tag: don't allow tagging the null revision (issue1915)
Brad Hall <bhall@fb.com>
parents: 16901
diff changeset
   442
  added 2 changesets with 2 changes to 2 files
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   443
  hook: tag changes detected
16680
d0e419b0f7de tag: run commit hook when lock is released (issue3344)
Mads Kiilerich <mads@kiilerich.com>
parents: 15623
diff changeset
   444
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   445
automatically merge resolvable tag conflicts (i.e. tags that differ in rank)
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   446
create two clones with some different tags as well as some common tags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   447
check that we can merge tags that differ in rank
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   448
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   449
  $ hg init repo-automatic-tag-merge
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   450
  $ cd repo-automatic-tag-merge
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   451
  $ echo c0 > f0
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   452
  $ hg ci -A -m0
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   453
  adding f0
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   454
  $ hg tag tbase
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   455
  hook: tag changes detected
25688
24cda1dd45ff workingctx: don't report the tags for its parents
Matt Harbison <matt_harbison@yahoo.com>
parents: 23951
diff changeset
   456
  $ hg up -qr '.^'
24cda1dd45ff workingctx: don't report the tags for its parents
Matt Harbison <matt_harbison@yahoo.com>
parents: 23951
diff changeset
   457
  $ hg log -r 'wdir()' -T "{latesttagdistance}\n"
24cda1dd45ff workingctx: don't report the tags for its parents
Matt Harbison <matt_harbison@yahoo.com>
parents: 23951
diff changeset
   458
  1
24cda1dd45ff workingctx: don't report the tags for its parents
Matt Harbison <matt_harbison@yahoo.com>
parents: 23951
diff changeset
   459
  $ hg up -q
24cda1dd45ff workingctx: don't report the tags for its parents
Matt Harbison <matt_harbison@yahoo.com>
parents: 23951
diff changeset
   460
  $ hg log -r 'wdir()' -T "{latesttagdistance}\n"
24cda1dd45ff workingctx: don't report the tags for its parents
Matt Harbison <matt_harbison@yahoo.com>
parents: 23951
diff changeset
   461
  2
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   462
  $ cd ..
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   463
  $ hg clone repo-automatic-tag-merge repo-automatic-tag-merge-clone
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   464
  updating to branch default
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   465
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   466
  $ cd repo-automatic-tag-merge-clone
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   467
  $ echo c1 > f1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   468
  $ hg ci -A -m1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   469
  adding f1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   470
  $ hg tag t1 t2 t3
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   471
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   472
  $ hg tag --remove t2
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   473
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   474
  $ hg tag t5
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   475
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   476
  $ echo c2 > f2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   477
  $ hg ci -A -m2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   478
  adding f2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   479
  $ hg tag -f t3
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   480
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   481
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   482
  $ cd ../repo-automatic-tag-merge
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   483
  $ echo c3 > f3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   484
  $ hg ci -A -m3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   485
  adding f3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   486
  $ hg tag -f t4 t5 t6
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   487
  hook: tag changes detected
25724
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   488
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   489
  $ hg up -q '.^'
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   490
  $ hg log -r 'wdir()' -T "{changessincelatesttag} changes since {latesttag}\n"
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   491
  1 changes since t4:t5:t6
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   492
  $ hg log -r '.' -T "{changessincelatesttag} changes since {latesttag}\n"
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   493
  0 changes since t4:t5:t6
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   494
  $ echo c5 > f3
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   495
  $ hg log -r 'wdir()' -T "{changessincelatesttag} changes since {latesttag}\n"
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   496
  1 changes since t4:t5:t6
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   497
  $ hg up -qC
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   498
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   499
  $ hg tag --remove t5
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   500
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   501
  $ echo c4 > f4
25724
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   502
  $ hg log -r '.' -T "{changessincelatesttag} changes since {latesttag}\n"
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   503
  2 changes since t4:t6
25727
b8245386ab40 templatekw: make {latesttag} a hybrid list
Matt Harbison <matt_harbison@yahoo.com>
parents: 25724
diff changeset
   504
  $ hg log -r '.' -T "{latesttag % '{latesttag}\n'}"
b8245386ab40 templatekw: make {latesttag} a hybrid list
Matt Harbison <matt_harbison@yahoo.com>
parents: 25724
diff changeset
   505
  t4
b8245386ab40 templatekw: make {latesttag} a hybrid list
Matt Harbison <matt_harbison@yahoo.com>
parents: 25724
diff changeset
   506
  t6
26485
43bf9471fae9 templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25727
diff changeset
   507
  $ hg log -r '.' -T "{latesttag('t4') % 'T: {tag}, C: {changes}, D: {distance}\n'}"
43bf9471fae9 templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25727
diff changeset
   508
  T: t4, C: 2, D: 2
43bf9471fae9 templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25727
diff changeset
   509
  $ hg log -r '.' -T "{latesttag('re:\d') % 'T: {tag}, C: {changes}, D: {distance}\n'}"
43bf9471fae9 templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25727
diff changeset
   510
  T: t4, C: 2, D: 2
43bf9471fae9 templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25727
diff changeset
   511
  T: t6, C: 2, D: 2
43bf9471fae9 templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25727
diff changeset
   512
  $ hg log -r . -T '{join(latesttag(), "*")}\n'
43bf9471fae9 templater: introduce {latesttag()} function to match a pattern (issue4184)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25727
diff changeset
   513
  t4*t6
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   514
  $ hg ci -A -m4
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   515
  adding f4
25724
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   516
  $ hg log -r 'wdir()' -T "{changessincelatesttag} changes since {latesttag}\n"
4474a750413f templatekw: introduce the changessincelatesttag keyword
Matt Harbison <matt_harbison@yahoo.com>
parents: 25700
diff changeset
   517
  4 changes since t4:t6
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   518
  $ hg tag t2
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   519
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   520
  $ hg tag -f t6
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   521
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   522
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   523
  $ cd ../repo-automatic-tag-merge-clone
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   524
  $ hg pull
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   525
  pulling from $TESTTMP/repo-automatic-tag-merge (glob)
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   526
  searching for changes
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   527
  adding changesets
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   528
  adding manifests
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   529
  adding file changes
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   530
  added 6 changesets with 6 changes to 3 files (+1 heads)
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   531
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   532
  (run 'hg heads' to see heads, 'hg merge' to merge)
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   533
  $ hg merge --tool internal:tagmerge
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   534
  merging .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   535
  2 files updated, 1 files merged, 0 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   536
  (branch merge, don't forget to commit)
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   537
  $ hg status
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   538
  M .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   539
  M f3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   540
  M f4
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   541
  $ hg resolve -l
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   542
  R .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   543
  $ cat .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   544
  9aa4e1292a27a248f8d07339bed9931d54907be7 t4
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   545
  9aa4e1292a27a248f8d07339bed9931d54907be7 t6
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   546
  9aa4e1292a27a248f8d07339bed9931d54907be7 t6
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   547
  09af2ce14077a94effef208b49a718f4836d4338 t6
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   548
  6cee5c8f3e5b4ae1a3996d2f6489c3e08eb5aea7 tbase
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   549
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   550
  929bca7b18d067cbf3844c3896319a940059d748 t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   551
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   552
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   553
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   554
  0000000000000000000000000000000000000000 t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   555
  875517b4806a848f942811a315a5bce30804ae85 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   556
  9aa4e1292a27a248f8d07339bed9931d54907be7 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   557
  9aa4e1292a27a248f8d07339bed9931d54907be7 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   558
  0000000000000000000000000000000000000000 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   559
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   560
  79505d5360b07e3e79d1052e347e73c02b8afa5b t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   561
23139
e53f6b72a0e4 spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents: 22791
diff changeset
   562
check that the merge tried to minimize the diff with the first merge parent
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   563
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   564
  $ hg diff --git -r 'p1()' .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   565
  diff --git a/.hgtags b/.hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   566
  --- a/.hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   567
  +++ b/.hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   568
  @@ -1,9 +1,17 @@
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   569
  +9aa4e1292a27a248f8d07339bed9931d54907be7 t4
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   570
  +9aa4e1292a27a248f8d07339bed9931d54907be7 t6
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   571
  +9aa4e1292a27a248f8d07339bed9931d54907be7 t6
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   572
  +09af2ce14077a94effef208b49a718f4836d4338 t6
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   573
   6cee5c8f3e5b4ae1a3996d2f6489c3e08eb5aea7 tbase
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   574
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   575
  +929bca7b18d067cbf3844c3896319a940059d748 t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   576
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   577
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   578
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   579
   0000000000000000000000000000000000000000 t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   580
   875517b4806a848f942811a315a5bce30804ae85 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   581
  +9aa4e1292a27a248f8d07339bed9931d54907be7 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   582
  +9aa4e1292a27a248f8d07339bed9931d54907be7 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   583
  +0000000000000000000000000000000000000000 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   584
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   585
   79505d5360b07e3e79d1052e347e73c02b8afa5b t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   586
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   587
detect merge tag conflicts
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   588
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   589
  $ hg update -C -r tip
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   590
  3 files updated, 0 files merged, 2 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   591
  $ hg tag t7
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   592
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   593
  $ hg update -C -r 'first(sort(head()))'
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   594
  3 files updated, 0 files merged, 2 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   595
  $ printf "%s %s\n" `hg log -r . --template "{node} t7"` >> .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   596
  $ hg commit -m "manually add conflicting t7 tag"
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   597
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   598
  $ hg merge --tool internal:tagmerge
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   599
  merging .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   600
  automatic .hgtags merge failed
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   601
  the following 1 tags are in conflict: t7
22707
38e0363dcbe0 filemerge: switch the default name for internal tools from internal:x to :x
Mads Kiilerich <madski@unity3d.com>
parents: 22680
diff changeset
   602
  automatic tag merging of .hgtags failed! (use 'hg resolve --tool :merge' or another merge tool of your choice)
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   603
  2 files updated, 0 files merged, 0 files removed, 1 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   604
  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   605
  [1]
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   606
  $ hg resolve -l
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   607
  U .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   608
  $ cat .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   609
  6cee5c8f3e5b4ae1a3996d2f6489c3e08eb5aea7 tbase
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   610
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   611
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   612
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   613
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   614
  0000000000000000000000000000000000000000 t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   615
  875517b4806a848f942811a315a5bce30804ae85 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   616
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   617
  79505d5360b07e3e79d1052e347e73c02b8afa5b t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   618
  ea918d56be86a4afc5a95312e8b6750e1428d9d2 t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   619
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   620
  $ cd ..
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   621
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   622
handle the loss of tags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   623
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   624
  $ hg clone repo-automatic-tag-merge-clone repo-merge-lost-tags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   625
  updating to branch default
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   626
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   627
  $ cd repo-merge-lost-tags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   628
  $ echo c5 > f5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   629
  $ hg ci -A -m5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   630
  adding f5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   631
  $ hg tag -f t7
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   632
  hook: tag changes detected
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   633
  $ hg update -r 'p1(t7)'
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   634
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   635
  $ printf '' > .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   636
  $ hg commit -m 'delete all tags'
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   637
  created new head
31994
b36318e6d2ef track-tags: introduce first bits of tags tracking during transaction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30247
diff changeset
   638
  hook: tag changes detected
22791
a074421fa4e1 addset: use the ascending argument in _iterordered
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22707
diff changeset
   639
  $ hg log -r 'max(t7::)'
a074421fa4e1 addset: use the ascending argument in _iterordered
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22707
diff changeset
   640
  changeset:   17:ffe462b50880
a074421fa4e1 addset: use the ascending argument in _iterordered
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22707
diff changeset
   641
  user:        test
a074421fa4e1 addset: use the ascending argument in _iterordered
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22707
diff changeset
   642
  date:        Thu Jan 01 00:00:00 1970 +0000
a074421fa4e1 addset: use the ascending argument in _iterordered
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22707
diff changeset
   643
  summary:     Added tag t7 for changeset fd3a9e394ce3
a074421fa4e1 addset: use the ascending argument in _iterordered
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22707
diff changeset
   644
  
21922
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   645
  $ hg update -r 'max(t7::)'
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   646
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   647
  $ hg merge -r tip --tool internal:tagmerge
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   648
  merging .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   649
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   650
  (branch merge, don't forget to commit)
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   651
  $ hg resolve -l
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   652
  R .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   653
  $ cat .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   654
  6cee5c8f3e5b4ae1a3996d2f6489c3e08eb5aea7 tbase
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   655
  0000000000000000000000000000000000000000 tbase
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   656
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   657
  0000000000000000000000000000000000000000 t1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   658
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   659
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   660
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   661
  0000000000000000000000000000000000000000 t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   662
  875517b4806a848f942811a315a5bce30804ae85 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   663
  0000000000000000000000000000000000000000 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   664
  4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   665
  79505d5360b07e3e79d1052e347e73c02b8afa5b t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   666
  0000000000000000000000000000000000000000 t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   667
  ea918d56be86a4afc5a95312e8b6750e1428d9d2 t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   668
  0000000000000000000000000000000000000000 t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   669
  ea918d56be86a4afc5a95312e8b6750e1428d9d2 t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   670
  fd3a9e394ce3afb354a496323bf68ac1755a30de t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   671
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   672
also check that we minimize the diff with the 1st merge parent
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   673
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   674
  $ hg diff --git -r 'p1()' .hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   675
  diff --git a/.hgtags b/.hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   676
  --- a/.hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   677
  +++ b/.hgtags
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   678
  @@ -1,12 +1,17 @@
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   679
   6cee5c8f3e5b4ae1a3996d2f6489c3e08eb5aea7 tbase
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   680
  +0000000000000000000000000000000000000000 tbase
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   681
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   682
  +0000000000000000000000000000000000000000 t1
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   683
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   684
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   685
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   686
   0000000000000000000000000000000000000000 t2
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   687
   875517b4806a848f942811a315a5bce30804ae85 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   688
  +0000000000000000000000000000000000000000 t5
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   689
   4f3e9b90005b68b4d8a3f4355cedc302a8364f5c t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   690
   79505d5360b07e3e79d1052e347e73c02b8afa5b t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   691
  +0000000000000000000000000000000000000000 t3
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   692
   ea918d56be86a4afc5a95312e8b6750e1428d9d2 t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   693
  +0000000000000000000000000000000000000000 t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   694
   ea918d56be86a4afc5a95312e8b6750e1428d9d2 t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   695
   fd3a9e394ce3afb354a496323bf68ac1755a30de t7
50e20154cb68 filemerge: add internal:tagmerge merge tool
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21418
diff changeset
   696