tests/test-branch-tag-confict.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 24 Dec 2011 19:05:35 +0900
branchstable
changeset 15723 1581da01d5c4
parent 15615 41885892796e
child 16913 f2719b387380
permissions -rw-r--r--
windows: use normalized path as path to subrepo path to subrepo is used to identify or check location of subrepo. it should be normalized (in "/" delimiter form), because it is also used with narrowmatcher which uses only normalized path even on Windows environment. this patch applies "util.pconvert()" on path to subrepo (called "subpath") to normalize it. for this patch, referers of below were checked. - subrepo.state() - subrepo.itersubrepos() - subrepo.subrepo() - context.sub() - context.substate() typical usecase is: for subpath in ctx.substate: sub = ctx.sub(subpath) ... ctx.substate[subpath] .... in this case, normalization has no side effect, because keys given from substate are used as key itself. other cases shown below also seem to require subpath to be normalized. - path components are joined by "/", in "commands.forget()": for subpath in ctx.substate: subforget[subpath + '/' + fsub] = (fsub, sub) - normalized "file" is used to check below condition, in "commands.revert()", "localrepository.commit()", and "localrepository._checknested()" file in ctx.substate - substate.keys() is passed to dirstate.walk()/status() which use only normalized pathes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13750
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     1
Initial setup.
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     2
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     3
  $ hg init repo
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     4
  $ cd repo
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     5
  $ touch thefile
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     6
  $ hg ci -A -m 'Initial commit.'
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
  adding thefile
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     8
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     9
Create a tag.
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    10
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    11
  $ hg tag branchortag
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    12
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    13
Create a branch with the same name as the tag.
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    14
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    15
  $ hg branch branchortag
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    16
  marked working directory as branch branchortag
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 14162
diff changeset
    17
  (branches are permanent and global, did you want a bookmark?)
13750
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    18
  $ hg ci -m 'Create a branch with the same name as a tag.'
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    19
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    20
This is what we have:
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    21
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    22
  $ hg log
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13750
diff changeset
    23
  changeset:   2:10519b3f489a
13750
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
  branch:      branchortag
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    25
  tag:         tip
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    26
  user:        test
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    27
  date:        Thu Jan 01 00:00:00 1970 +0000
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    28
  summary:     Create a branch with the same name as a tag.
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    29
  
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    30
  changeset:   1:2635c45ca99b
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    31
  user:        test
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
  date:        Thu Jan 01 00:00:00 1970 +0000
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    33
  summary:     Added tag branchortag for changeset f57387372b5d
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    34
  
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    35
  changeset:   0:f57387372b5d
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    36
  tag:         branchortag
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    37
  user:        test
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    38
  date:        Thu Jan 01 00:00:00 1970 +0000
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    39
  summary:     Initial commit.
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    40
  
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    41
Update to the tag:
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    42
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    43
  $ hg up 'tag(branchortag)'
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    44
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    45
  $ hg parents
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    46
  changeset:   0:f57387372b5d
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    47
  tag:         branchortag
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    48
  user:        test
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    49
  date:        Thu Jan 01 00:00:00 1970 +0000
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    50
  summary:     Initial commit.
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    51
  
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    52
Updating to the branch:
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    53
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    54
  $ hg up 'branch(branchortag)'
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    55
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    56
  $ hg parents
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13750
diff changeset
    57
  changeset:   2:10519b3f489a
13750
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    58
  branch:      branchortag
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    59
  tag:         tip
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    60
  user:        test
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    61
  date:        Thu Jan 01 00:00:00 1970 +0000
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    62
  summary:     Create a branch with the same name as a tag.
7eb82f88e157 # User Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    63