tests/test-convert-git.t
author David Soria Parra <dsp@experimentalworks.net>
Thu, 29 Aug 2013 09:22:13 -0700
changeset 19854 49d4919d21c2
parent 19121 478a04605ce1
child 20117 aa9385f983fa
permissions -rw-r--r--
shelve: add a shelve extension to save/restore working changes This extension saves shelved changes using a temporary draft commit, and bundles the temporary commit and its draft ancestors, then strips them. This strategy makes it possible to use Mercurial's bundle and merge machinery to resolve conflicts if necessary when unshelving, even when the destination commit or its ancestors have been amended, squashed, or evolved. (Once a change has been unshelved, its associated unbundled commits are either rolled back or stripped.) Storing the shelved change as a bundle also avoids the difficulty that hidden commits would cause, of making it impossible to amend the parent if it is a draft commits (a common scenario). Although this extension shares its name and some functionality with the third party hgshelve extension, it has little else in common. Notably, the hgshelve extension shelves changes as unified diffs, which makes conflict resolution a matter of finding .rej files and conflict markers, and cleaning up the mess by hand. We do not yet allow hunk-level choosing of changes to record. Compared to the hgshelve extension, this is a small regression in usability, but we hope to integrate that at a later point, once the record machinery becomes more reusable and robust.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5335
88e931f74e8b convert_git: avoid returning two entries for the same file in getchanges
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5231
diff changeset
     1
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
     2
  $ "$TESTDIR/hghave" git || exit 80
16892
cfd892b7569f test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 15243
diff changeset
     3
  $ echo "[core]" >> $HOME/.gitconfig
cfd892b7569f test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 15243
diff changeset
     4
  $ echo "autocrlf = false" >> $HOME/.gitconfig
16954
8f36806b8f6a test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16893
diff changeset
     5
  $ echo "[core]" >> $HOME/.gitconfig
8f36806b8f6a test-convert: disable autocrlf for git
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16893
diff changeset
     6
  $ echo "autocrlf = false" >> $HOME/.gitconfig
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
     7
  $ echo "[extensions]" >> $HGRCPATH
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
     8
  $ echo "convert=" >> $HGRCPATH
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
     9
  $ echo 'hgext.graphlog =' >> $HGRCPATH
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    10
  $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    11
  $ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    12
  $ GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    13
  $ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    14
  $ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    15
  $ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
19121
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    16
  $ INVALIDID1=afd12345af
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    17
  $ INVALIDID2=28173x36ddd1e67bf7098d541130558ef5534a86
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    18
  $ VALIDID1=39b3d83f9a69a9ba4ebb111461071a0af0027357
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    19
  $ VALIDID2=8dd6476bd09d9c7776355dc454dafe38efaec5da
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    20
  $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    21
  $ commit()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    22
  > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    23
  >     GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    24
  >     GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    25
  >     git commit "$@" >/dev/null 2>/dev/null || echo "git commit error"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    26
  >     count=`expr $count + 1`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    27
  > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    28
  $ mkdir git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    29
  $ cd git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    30
  $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    31
  $ echo a > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    32
  $ mkdir d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    33
  $ echo b > d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    34
  $ git add a d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    35
  $ commit -a -m t1
5335
88e931f74e8b convert_git: avoid returning two entries for the same file in getchanges
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5231
diff changeset
    36
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    37
Remove the directory, then try to replace it with a file
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    38
(issue 754)
5335
88e931f74e8b convert_git: avoid returning two entries for the same file in getchanges
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5231
diff changeset
    39
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    40
  $ git rm -f d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    41
  rm 'd/b'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    42
  $ commit -m t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    43
  $ echo d > d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    44
  $ git add d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    45
  $ commit -m t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    46
  $ echo b >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    47
  $ commit -a -m t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    48
  $ git checkout -b other HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    49
  $ echo c > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    50
  $ echo a >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    51
  $ commit -a -m t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    52
  $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    53
  $ git pull --no-commit . other > /dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    54
  $ commit -m 'Merge branch other'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    55
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    56
  $ hg convert --datesort git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    57
  assuming destination git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    58
  initializing destination git-repo-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    59
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    60
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    61
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    62
  5 t1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    63
  4 t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    64
  3 t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    65
  2 t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    66
  1 t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    67
  0 Merge branch other
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
    68
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    69
  $ hg up -q -R git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    70
  $ hg -R git-repo-hg tip -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    71
  changeset:   5:c78094926be2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
    72
  bookmark:    master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    73
  tag:         tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    74
  parent:      3:f5f5cb45432b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    75
  parent:      4:4e174f80c67c
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    76
  user:        test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    77
  date:        Mon Jan 01 00:00:15 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    78
  files:       a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    79
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    80
  Merge branch other
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    81
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    82
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    83
  $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    84
  $ mkdir git-repo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    85
  $ cd git-repo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    86
  $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    87
  $ echo foo > foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    88
  $ git add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    89
  $ commit -a -m 'add foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    90
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    91
  $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    92
  $ git checkout -b Bar HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    93
  $ echo quux >> quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    94
  $ git add quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    95
  $ commit -a -m 'add quux'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    96
  $ echo bar > bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    97
  $ git add bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    98
  $ commit -a -m 'add bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    99
  $ git checkout -b Baz HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   100
  $ echo baz > baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   101
  $ git add baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   102
  $ commit -a -m 'add baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   103
  $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   104
  $ git pull --no-commit . Bar Baz > /dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   105
  $ commit -m 'Octopus merge'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   106
  $ echo bar >> bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   107
  $ commit -a -m 'change bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   108
  $ git checkout -b Foo HEAD~ >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   109
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   110
  $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   111
  $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   112
  $ git pull --no-commit -s ours . Foo > /dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   113
  $ commit -m 'Discard change to foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   114
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   115
  $ glog()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   116
  > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   117
  >     hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   118
  > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   119
  $ splitrepo()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   120
  > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   121
  >     msg="$1"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   122
  >     files="$2"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   123
  >     opts=$3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   124
  >     echo "% $files: $msg"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   125
  >     prefix=`echo "$files" | sed -e 's/ /-/g'`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   126
  >     fmap="$prefix.fmap"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   127
  >     repo="$prefix.repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   128
  >     for i in $files; do
12743
4c4aeaab2339 check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 12530
diff changeset
   129
  >         echo "include $i" >> "$fmap"
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   130
  >     done
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   131
  >     hg -q convert $opts --filemap "$fmap" --datesort git-repo2 "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   132
  >     hg up -q -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   133
  >     glog -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   134
  >     hg -R "$repo" manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   135
  > }
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   136
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   137
full conversion
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   138
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   139
  $ hg -q convert --datesort git-repo2 fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   140
  $ hg up -q -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   141
  $ glog -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   142
  @    9 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   143
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   144
  | o  8 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   145
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   146
  o |  7 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   147
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   148
  o    6 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   149
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   150
  | o    5 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   151
  | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   152
  o | |  4 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   153
  | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   154
  +---o  3 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   155
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   156
  o |  2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   157
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   158
  | o  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   159
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   160
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   161
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   162
  $ hg -R fullrepo manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   163
  245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   164
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   165
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   166
  88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   167
  $ splitrepo 'octopus merge' 'foo bar baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   168
  % foo bar baz: octopus merge
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   169
  @    8 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   170
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   171
  | o  7 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   172
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   173
  o |  6 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   174
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   175
  o    5 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   176
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   177
  | o    4 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   178
  | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   179
  o | |  3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   180
  | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   181
  +---o  2 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   182
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   183
  | o  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   184
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   185
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   186
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   187
  245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   188
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   189
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   190
  $ splitrepo 'only some parents of an octopus merge; "discard" a head' 'foo baz quux'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   191
  % foo baz quux: only some parents of an octopus merge; "discard" a head
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   192
  @  6 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   193
  |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   194
  o  5 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   195
  |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   196
  o    4 "Octopus merge" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   197
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   198
  | o  3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   199
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   200
  | o  2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   201
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   202
  o |  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   203
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   204
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   205
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   206
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   207
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   208
  88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   209
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   210
test binary conversion (issue 1359)
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   211
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   212
  $ mkdir git-repo3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   213
  $ cd git-repo3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   214
  $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   215
  $ python -c 'file("b", "wb").write("".join([chr(i) for i in range(256)])*16)'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   216
  $ git add b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   217
  $ commit -a -m addbinary
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   218
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   219
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   220
convert binary file
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
   221
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   222
  $ hg convert git-repo3 git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   223
  initializing destination git-repo3-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   224
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   225
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   226
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   227
  0 addbinary
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   228
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   229
  $ cd git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   230
  $ hg up -C
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   231
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   232
  $ python -c 'print len(file("b", "rb").read())'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   233
  4096
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   234
  $ cd ..
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
   235
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   236
test author vs committer
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   237
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   238
  $ mkdir git-repo4
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   239
  $ cd git-repo4
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   240
  $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   241
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   242
  $ git add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   243
  $ commit -a -m addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   244
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   245
  $ GIT_AUTHOR_NAME="nottest"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   246
  $ commit -a -m addfoo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   247
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   248
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   249
convert author committer
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
   250
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   251
  $ hg convert git-repo4 git-repo4-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   252
  initializing destination git-repo4-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   253
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   254
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   255
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   256
  1 addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   257
  0 addfoo2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   258
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   259
  $ hg -R git-repo4-hg log -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   260
  changeset:   1:d63e967f93da
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   261
  bookmark:    master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   262
  tag:         tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   263
  user:        nottest <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   264
  date:        Mon Jan 01 00:00:21 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   265
  files:       foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   266
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   267
  addfoo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   268
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   269
  committer: test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   270
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   271
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   272
  changeset:   0:0735477b0224
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   273
  user:        test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   274
  date:        Mon Jan 01 00:00:20 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   275
  files:       foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   276
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   277
  addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   278
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   279
  
8691
a0a541d6fed6 convert: fail fast if source does not support --sourcesort
Patrick Mezard <pmezard@gmail.com>
parents: 8523
diff changeset
   280
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   281
--sourceorder should fail
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   282
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   283
  $ hg convert --sourcesort git-repo4 git-repo4-sourcesort-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   284
  initializing destination git-repo4-sourcesort-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   285
  abort: --sourcesort is not supported by this data source
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   286
  [255]
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   287
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   288
test sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   289
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   290
  $ mkdir git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   291
  $ cd git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   292
  $ git init-db >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   293
  $ echo 'sub' >> foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   294
  $ git add foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   295
  $ commit -a -m 'addfoo'
18508
813b7a1f7036 tests: use `pwd` instead of ${PWD} in test-convert-git.t - because of Solaris
Mads Kiilerich <mads@kiilerich.com>
parents: 17929
diff changeset
   296
  $ BASE=`pwd`
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   297
  $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   298
  $ mkdir git-repo6
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   299
  $ cd git-repo6
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   300
  $ git init-db >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   301
  $ git submodule add ${BASE} >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   302
  $ commit -a -m 'addsubmodule' >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   303
  $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   304
19121
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   305
test invalid splicemap1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   306
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   307
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   308
  > $VALIDID1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   309
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   310
  $ hg convert --splicemap splicemap git-repo2 git-repo2-splicemap1-hg
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   311
  initializing destination git-repo2-splicemap1-hg repository
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   312
  abort: syntax error in splicemap(1): child parent1[,parent2] expected
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   313
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   314
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   315
test invalid splicemap2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   316
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   317
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   318
  > $VALIDID1 $VALIDID2, $VALIDID2, $VALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   319
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   320
  $ hg convert --splicemap splicemap git-repo2 git-repo2-splicemap2-hg
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   321
  initializing destination git-repo2-splicemap2-hg repository
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   322
  abort: syntax error in splicemap(1): child parent1[,parent2] expected
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   323
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   324
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   325
test invalid splicemap3
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   326
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   327
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   328
  > $INVALIDID1 $INVALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   329
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   330
  $ hg convert --splicemap splicemap git-repo2 git-repo2-splicemap3-hg
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   331
  initializing destination git-repo2-splicemap3-hg repository
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   332
  abort: splicemap entry afd12345af is not a valid revision identifier
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   333
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   334
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   335
convert sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   336
  $ hg convert git-repo6 git-repo6-hg
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   337
  initializing destination git-repo6-hg repository
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   338
  scanning source...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   339
  sorting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   340
  converting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   341
  0 addsubmodule
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   342
  updating bookmarks
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   343
  $ hg -R git-repo6-hg log -v
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   344
  changeset:   0:* (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   345
  bookmark:    master
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   346
  tag:         tip
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   347
  user:        nottest <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   348
  date:        Mon Jan 01 00:00:23 2007 +0000
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   349
  files:       .hgsub .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   350
  description:
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   351
  addsubmodule
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   352
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   353
  committer: test <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   354
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   355
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   356
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   357
  $ cd git-repo6-hg
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   358
  $ hg up >/dev/null 2>/dev/null
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   359
  $ cat .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   360
  * git-repo5 (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   361
  $ cd git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   362
  $ cat foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   363
  sub
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   364
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   365
  $ cd ../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   366
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   367
damaged git repository tests:
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   368
In case the hard-coded hashes change, the following commands can be used to
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   369
list the hashes and their corresponding types in the repository:
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   370
cd git-repo4/.git/objects
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   371
find . -type f | cut -c 3- | sed 's_/__' | xargs -n 1 -t git cat-file -t
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   372
cd ../../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   373
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   374
damage git repository by renaming a commit object
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   375
  $ COMMIT_OBJ=1c/0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   376
  $ mv git-repo4/.git/objects/$COMMIT_OBJ git-repo4/.git/objects/$COMMIT_OBJ.tmp
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   377
  $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   378
  abort: cannot read tags from git-repo4/.git
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   379
  $ mv git-repo4/.git/objects/$COMMIT_OBJ.tmp git-repo4/.git/objects/$COMMIT_OBJ
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   380
damage git repository by renaming a blob object
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   381
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   382
  $ BLOB_OBJ=8b/137891791fe96927ad78e64b0aad7bded08bdc
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   383
  $ mv git-repo4/.git/objects/$BLOB_OBJ git-repo4/.git/objects/$BLOB_OBJ.tmp
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   384
  $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   385
  abort: cannot read 'blob' object at 8b137891791fe96927ad78e64b0aad7bded08bdc
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   386
  $ mv git-repo4/.git/objects/$BLOB_OBJ.tmp git-repo4/.git/objects/$BLOB_OBJ
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   387
damage git repository by renaming a tree object
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   388
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   389
  $ TREE_OBJ=72/49f083d2a63a41cc737764a86981eb5f3e4635
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   390
  $ mv git-repo4/.git/objects/$TREE_OBJ git-repo4/.git/objects/$TREE_OBJ.tmp
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   391
  $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   392
  abort: cannot read changes in 1c0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd