tests/test-convert-tagsbranch-topology.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 13 Nov 2013 15:55:30 +0900
changeset 20176 4c96c50ef937
parent 20117 aa9385f983fa
child 22046 7a9cbb315d84
permissions -rw-r--r--
subrepo: check phase of state in each subrepositories before committing Before this patch, phase of newly created commit is determined by "phases.new-commit" configuration regardless of phase of state in each subrepositories. For example, this may cause the "public" revision in the parent repository referring the "secret" one in subrepository. This patch checks phase of state in each subrepositories before committing in the parent, and aborts or changes phase of newly created commit if subrepositories have more restricted phase than the parent. This patch uses "follow" as default value of "phases.checksubrepos" configuration, because it can keep consistency between phases of the parent and subrepositories without breaking existing tool chains.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9431
d1b135f2f415 convert: fix history topology when using hg.tagsbranch
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
     2
  $ "$TESTDIR/hghave" git || exit 80
16892
cfd892b7569f test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 13756
diff changeset
     3
  $ echo "[core]" >> $HOME/.gitconfig
cfd892b7569f test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 13756
diff changeset
     4
  $ echo "autocrlf = false" >> $HOME/.gitconfig
16954
8f36806b8f6a test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
     5
  $ echo "[core]" >> $HOME/.gitconfig
8f36806b8f6a test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
     6
  $ echo "autocrlf = false" >> $HOME/.gitconfig
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
     7
  $ echo "[extensions]" >> $HGRCPATH
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
     8
  $ echo "convert=" >> $HGRCPATH
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
     9
  $ echo '[convert]' >> $HGRCPATH
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    10
  $ echo 'hg.usebranchnames = True' >> $HGRCPATH
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    11
  $ echo 'hg.tagsbranch = tags-update' >> $HGRCPATH
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    12
  $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    13
  $ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    14
  $ GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    15
  $ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    16
  $ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    17
  $ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    18
  $ count=10
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    19
  $ action()
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    20
  > {
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    21
  >     GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000"
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    22
  >     GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    23
  >     git "$@" >/dev/null 2>/dev/null || echo "git command error"
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    24
  >     count=`expr $count + 1`
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    25
  > }
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    26
  $ glog()
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    27
  > {
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 16954
diff changeset
    28
  >     hg log -G --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    29
  > }
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    30
  $ convertrepo()
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    31
  > {
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    32
  >     hg convert --datesort git-repo hg-repo
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    33
  > }
9431
d1b135f2f415 convert: fix history topology when using hg.tagsbranch
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    34
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    35
Build a GIT repo with at least 1 tag
9431
d1b135f2f415 convert: fix history topology when using hg.tagsbranch
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    36
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    37
  $ mkdir git-repo
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    38
  $ cd git-repo
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    39
  $ git init >/dev/null 2>&1
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    40
  $ echo a > a
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    41
  $ git add a
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    42
  $ action commit -m "rev1"
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    43
  $ action tag -m "tag1" tag1
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    44
  $ cd ..
9431
d1b135f2f415 convert: fix history topology when using hg.tagsbranch
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    45
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    46
Do a first conversion
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    47
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    48
  $ convertrepo
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    49
  initializing destination hg-repo repository
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    50
  scanning source...
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    51
  sorting...
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    52
  converting...
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    53
  0 rev1
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    54
  updating tags
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12534
diff changeset
    55
  updating bookmarks
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    56
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    57
Simulate upstream  updates after first conversion
9431
d1b135f2f415 convert: fix history topology when using hg.tagsbranch
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    58
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    59
  $ cd git-repo
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    60
  $ echo b > a
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    61
  $ git add a
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    62
  $ action commit -m "rev2"
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    63
  $ action tag -m "tag2" tag2
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    64
  $ cd ..
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    65
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    66
Perform an incremental conversion
9431
d1b135f2f415 convert: fix history topology when using hg.tagsbranch
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    67
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    68
  $ convertrepo
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    69
  scanning source...
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    70
  sorting...
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    71
  converting...
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    72
  0 rev2
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    73
  updating tags
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12534
diff changeset
    74
  updating bookmarks
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    75
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    76
Print the log
9431
d1b135f2f415 convert: fix history topology when using hg.tagsbranch
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    77
12534
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    78
  $ cd hg-repo
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    79
  $ glog
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    80
  o  3 "update tags" files: .hgtags
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    81
  |
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    82
  | o  2 "rev2" files: a
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    83
  | |
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    84
  o |  1 "update tags" files: .hgtags
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    85
   /
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    86
  o  0 "rev1" files: a
3ee3d7634e94 tests: unify test-convert-tagsbranch-topology
Matt Mackall <mpm@selenic.com>
parents: 9431
diff changeset
    87
  
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16892
diff changeset
    88
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16892
diff changeset
    89
  $ cd ..