tests/test-convert-git.t
author Jun Wu <quark@fb.com>
Mon, 17 Jul 2017 23:19:11 -0700
changeset 33832 539541779010
parent 32902 642feee29d70
child 34987 846942fd6d15
permissions -rw-r--r--
phabricator: add a small language to query Differential Revisions Previously, `phabread` can only be used to read a single patch, or a single stack of patches. In the future, we want to have more complex queries like filtering with status (open, accepted, closed, etc), or maybe more complex like filtering by reviewers etc. The command line flag approach won't scale with that. Besides, we might want to have other commands to update Differential Revision status in batch, like accepting a stack using a single command. Therefore, this patch adds a small language. It has basic set operations: `&`, `+`, `-` and an ancestor operator to support `--stack`. Test Plan: Try querying this Phabricator instance: hg phabread 1+2 # 1, 2 hg phabread D2+D1 # 2, 1 hg phabread ':118-115+:2-1' # 114, 116, 117, 118, 2 hg phabread '((:118-(D115+117)))&:117' # 114, 116 hg phabread ':2&:117' --debug # differential.query is called only once Make sure the output is expected and prefetch works. Differential Revision: https://phab.mercurial-scm.org/D125
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21868
diff changeset
     1
#require git
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
     2
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
  $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    10
  $ 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
    11
  $ 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
    12
  $ 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
    13
  $ 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
    14
  $ 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
    15
  $ INVALIDID1=afd12345af
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    16
  $ INVALIDID2=28173x36ddd1e67bf7098d541130558ef5534a86
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    17
  $ VALIDID1=39b3d83f9a69a9ba4ebb111461071a0af0027357
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    18
  $ VALIDID2=8dd6476bd09d9c7776355dc454dafe38efaec5da
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    19
  $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    20
  $ commit()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    21
  > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    22
  >     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
    23
  >     GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    24
  >     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
    25
  >     count=`expr $count + 1`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    26
  > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    27
  $ mkdir git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    28
  $ cd git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    29
  $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    30
  $ echo a > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    31
  $ mkdir d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    32
  $ echo b > d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    33
  $ git add a d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    34
  $ 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
    35
22183
4dd9f606d0a6 tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    36
Remove the directory, then try to replace it with a file (issue754)
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
    37
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    38
  $ git rm -f d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    39
  rm 'd/b'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    40
  $ commit -m t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    41
  $ echo d > d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    42
  $ git add d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    43
  $ commit -m t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    44
  $ echo b >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    45
  $ commit -a -m t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    46
  $ 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
    47
  $ echo c > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    48
  $ echo a >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    49
  $ commit -a -m t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    50
  $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    51
  $ 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
    52
  $ commit -m 'Merge branch other'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    53
  $ cd ..
22412
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    54
  $ hg convert --config extensions.progress= --config progress.assume-tty=1 \
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    55
  >   --config progress.delay=0 --config progress.changedelay=0 \
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    56
  >   --config progress.refresh=0 --config progress.width=60 \
27002
a8a5206585ec convert: changed test's progress output format to ignore estimate
Christian Delahousse <cdelahousse@fb.com>
parents: 26970
diff changeset
    57
  >   --config progress.format='topic, bar, number' --datesort git-repo
22412
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    58
  \r (no-eol) (esc)
22413
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
    59
  scanning [======>                                     ] 1/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
    60
  scanning [=============>                              ] 2/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
    61
  scanning [=====================>                      ] 3/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
    62
  scanning [============================>               ] 4/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
    63
  scanning [===================================>        ] 5/6\r (no-eol) (esc)
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
    64
  scanning [===========================================>] 6/6\r (no-eol) (esc)
22412
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    65
                                                              \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    66
  \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    67
  converting [                                          ] 0/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    68
  getting files [==================>                    ] 1/2\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    69
  getting files [======================================>] 2/2\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    70
                                                              \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    71
  \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    72
  converting [======>                                   ] 1/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    73
  getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    74
                                                              \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    75
  \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    76
  converting [=============>                            ] 2/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    77
  getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    78
                                                              \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    79
  \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    80
  converting [====================>                     ] 3/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    81
  getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    82
                                                              \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    83
  \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    84
  converting [===========================>              ] 4/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    85
  getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    86
                                                              \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    87
  \r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    88
  converting [==================================>       ] 5/6\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    89
  getting files [======================================>] 1/1\r (no-eol) (esc)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    90
                                                              \r (no-eol) (esc)
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    91
  assuming destination git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    92
  initializing destination git-repo-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    93
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    94
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    95
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    96
  5 t1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    97
  4 t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    98
  3 t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    99
  2 t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   100
  1 t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   101
  0 Merge branch other
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   102
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   103
  $ hg up -q -R git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   104
  $ hg -R git-repo-hg tip -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   105
  changeset:   5:c78094926be2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   106
  bookmark:    master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   107
  tag:         tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   108
  parent:      3:f5f5cb45432b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   109
  parent:      4:4e174f80c67c
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   110
  user:        test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   111
  date:        Mon Jan 01 00:00:15 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   112
  files:       a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   113
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   114
  Merge branch other
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   115
  
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
  $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   118
  $ mkdir git-repo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   119
  $ cd git-repo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   120
  $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   121
  $ echo foo > foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   122
  $ git add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   123
  $ commit -a -m 'add foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   124
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   125
  $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   126
  $ 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
   127
  $ echo quux >> quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   128
  $ git add quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   129
  $ commit -a -m 'add quux'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   130
  $ echo bar > bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   131
  $ git add bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   132
  $ commit -a -m 'add bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   133
  $ 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
   134
  $ echo baz > baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   135
  $ git add baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   136
  $ commit -a -m 'add baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   137
  $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   138
  $ 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
   139
  $ commit -m 'Octopus merge'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   140
  $ echo bar >> bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   141
  $ commit -a -m 'change bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   142
  $ 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
   143
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   144
  $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   145
  $ git checkout master >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   146
  $ 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
   147
  $ commit -m 'Discard change to foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   148
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   149
  $ glog()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   150
  > {
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 19121
diff changeset
   151
  >     hg log -G --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   152
  > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   153
  $ splitrepo()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   154
  > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   155
  >     msg="$1"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   156
  >     files="$2"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   157
  >     opts=$3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   158
  >     echo "% $files: $msg"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   159
  >     prefix=`echo "$files" | sed -e 's/ /-/g'`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   160
  >     fmap="$prefix.fmap"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   161
  >     repo="$prefix.repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   162
  >     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
   163
  >         echo "include $i" >> "$fmap"
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   164
  >     done
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   165
  >     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
   166
  >     hg up -q -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   167
  >     glog -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   168
  >     hg -R "$repo" manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   169
  > }
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   170
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   171
full conversion
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   172
24327
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   173
  $ hg convert --datesort git-repo2 fullrepo \
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   174
  > --config extensions.progress= --config progress.assume-tty=1 \
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   175
  > --config progress.delay=0 --config progress.changedelay=0 \
27002
a8a5206585ec convert: changed test's progress output format to ignore estimate
Christian Delahousse <cdelahousse@fb.com>
parents: 26970
diff changeset
   176
  > --config progress.refresh=0 --config progress.width=60 \
a8a5206585ec convert: changed test's progress output format to ignore estimate
Christian Delahousse <cdelahousse@fb.com>
parents: 26970
diff changeset
   177
  > --config progress.format='topic, bar, number'
24327
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   178
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   179
  scanning [===>                                        ] 1/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   180
  scanning [========>                                   ] 2/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   181
  scanning [=============>                              ] 3/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   182
  scanning [==================>                         ] 4/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   183
  scanning [=======================>                    ] 5/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   184
  scanning [============================>               ] 6/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   185
  scanning [=================================>          ] 7/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   186
  scanning [======================================>     ] 8/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   187
  scanning [===========================================>] 9/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   188
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   189
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   190
  converting [                                          ] 0/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   191
  getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   192
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   193
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   194
  converting [===>                                      ] 1/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   195
  getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   196
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   197
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   198
  converting [========>                                 ] 2/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   199
  getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   200
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   201
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   202
  converting [=============>                            ] 3/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   203
  getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   204
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   205
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   206
  converting [=================>                        ] 4/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   207
  getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   208
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   209
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   210
  converting [======================>                   ] 5/9\r (no-eol) (esc)
24328
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   211
  getting files [===>                                   ] 1/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   212
  getting files [========>                              ] 2/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   213
  getting files [=============>                         ] 3/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   214
  getting files [==================>                    ] 4/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   215
  getting files [=======================>               ] 5/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   216
  getting files [============================>          ] 6/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   217
  getting files [=================================>     ] 7/8\r (no-eol) (esc)
603a8d09e12d convert: adjust progress bar for octopus merges (issue4169)
Augie Fackler <augie@google.com>
parents: 24327
diff changeset
   218
  getting files [======================================>] 8/8\r (no-eol) (esc)
24327
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   219
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   220
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   221
  converting [===========================>              ] 6/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   222
  getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   223
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   224
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   225
  converting [===============================>          ] 7/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   226
  getting files [======================================>] 1/1\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   227
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   228
  \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   229
  converting [====================================>     ] 8/9\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   230
  getting files [==================>                    ] 1/2\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   231
  getting files [======================================>] 2/2\r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   232
                                                              \r (no-eol) (esc)
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   233
  initializing destination fullrepo repository
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   234
  scanning source...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   235
  sorting...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   236
  converting...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   237
  8 add foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   238
  7 change foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   239
  6 add quux
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   240
  5 add bar
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   241
  4 add baz
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   242
  3 Octopus merge
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   243
  2 change bar
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   244
  1 change foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   245
  0 Discard change to foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   246
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   247
  $ hg up -q -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   248
  $ glog -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   249
  @    9 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   250
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   251
  | o  8 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   252
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   253
  o |  7 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   254
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   255
  o    6 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   256
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   257
  | o    5 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   258
  | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   259
  o | |  4 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   260
  | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   261
  +---o  3 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   262
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   263
  o |  2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   264
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   265
  | o  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   266
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   267
  o  0 "add foo" files: foo
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
  $ hg -R fullrepo manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   270
  245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   271
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   272
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   273
  88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   274
  $ splitrepo 'octopus merge' 'foo bar baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   275
  % foo bar baz: octopus merge
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   276
  @    8 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   277
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   278
  | o  7 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   279
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   280
  o |  6 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   281
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   282
  o    5 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   283
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   284
  | o    4 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   285
  | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   286
  o | |  3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   287
  | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   288
  +---o  2 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   289
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   290
  | o  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   291
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   292
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   293
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   294
  245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   295
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   296
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   297
  $ 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
   298
  % 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
   299
  @  6 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   300
  |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   301
  o  5 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   302
  |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   303
  o    4 "Octopus merge" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   304
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   305
  | o  3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   306
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   307
  | o  2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   308
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   309
  o |  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   310
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   311
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   312
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   313
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   314
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   315
  88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   316
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   317
test importing git renames and copies
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   318
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   319
  $ cd git-repo2
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   320
  $ git mv foo foo-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   321
since bar is not touched in this commit, this copy will not be detected
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   322
  $ cp bar bar-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   323
  $ cp baz baz-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   324
  $ cp baz baz-copied2
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   325
  $ cp baz ba-copy
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   326
  $ echo baz2 >> baz
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   327
  $ git add bar-copied baz-copied baz-copied2 ba-copy
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   328
  $ commit -a -m 'rename and copy'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   329
  $ cd ..
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   330
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   331
input validation
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   332
  $ hg convert --config convert.git.similarity=foo --datesort git-repo2 fullrepo
30927
8fa3ab6221b9 ui: rewrite configint in terms of configwith
Bryan O'Sullivan <bryano@fb.com>
parents: 30815
diff changeset
   333
  abort: convert.git.similarity is not a valid integer ('foo')
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   334
  [255]
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   335
  $ hg convert --config convert.git.similarity=-1 --datesort git-repo2 fullrepo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   336
  abort: similarity must be between 0 and 100
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   337
  [255]
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   338
  $ hg convert --config convert.git.similarity=101 --datesort git-repo2 fullrepo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   339
  abort: similarity must be between 0 and 100
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   340
  [255]
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   341
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   342
  $ hg -q convert --config convert.git.similarity=100 --datesort git-repo2 fullrepo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   343
  $ hg -R fullrepo status -C --change master
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   344
  M baz
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   345
  A ba-copy
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   346
    baz
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   347
  A bar-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   348
  A baz-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   349
    baz
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   350
  A baz-copied2
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   351
    baz
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   352
  A foo-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   353
    foo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   354
  R foo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   355
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   356
Ensure that the modification to the copy source was preserved
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   357
(there was a bug where if the copy dest was alphabetically prior to the copy
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   358
source, the copy source took the contents of the copy dest)
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   359
  $ hg cat -r tip fullrepo/baz
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   360
  baz
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   361
  baz2
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   362
22471
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   363
  $ cd git-repo2
22558
064a912ebfc2 test-convert-git.t: make copy detection deterministic
Siddharth Agarwal <sid0@fb.com>
parents: 22511
diff changeset
   364
  $ echo bar2 >> bar
064a912ebfc2 test-convert-git.t: make copy detection deterministic
Siddharth Agarwal <sid0@fb.com>
parents: 22511
diff changeset
   365
  $ commit -a -m 'change bar'
22471
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   366
  $ cp bar bar-copied2
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   367
  $ git add bar-copied2
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   368
  $ commit -a -m 'copy with no changes'
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   369
  $ cd ..
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   370
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   371
  $ hg -q convert --config convert.git.similarity=100 \
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   372
  > --config convert.git.findcopiesharder=1 --datesort git-repo2 fullrepo
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   373
  $ hg -R fullrepo status -C --change master
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   374
  A bar-copied2
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   375
    bar
cc5f94db672b convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents: 22470
diff changeset
   376
30646
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   377
renamelimit config option works
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   378
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   379
  $ cd git-repo2
30657
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   380
  $ cat >> copy-source << EOF
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   381
  > sc0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   382
  > sc1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   383
  > sc2
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   384
  > sc3
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   385
  > sc4
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   386
  > sc5
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   387
  > sc6
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   388
  > EOF
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   389
  $ git add copy-source
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   390
  $ commit -m 'add copy-source'
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   391
  $ cp copy-source source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   392
  $ echo 0 >> source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   393
  $ cp copy-source source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   394
  $ echo 1 >> source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   395
  $ git add source-copy0 source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   396
  $ commit -a -m 'copy copy-source 2 times'
30646
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   397
  $ cd ..
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   398
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   399
  $ hg -q convert --config convert.git.renamelimit=1 \
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   400
  > --config convert.git.findcopiesharder=true --datesort git-repo2 fullrepo2
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   401
  $ hg -R fullrepo2 status -C --change master
30657
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   402
  A source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   403
  A source-copy1
30646
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   404
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   405
  $ hg -q convert --config convert.git.renamelimit=100 \
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   406
  > --config convert.git.findcopiesharder=true --datesort git-repo2 fullrepo3
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   407
  $ hg -R fullrepo3 status -C --change master
30657
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   408
  A source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   409
    copy-source
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   410
  A source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   411
    copy-source
30646
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   412
22183
4dd9f606d0a6 tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
   413
test binary conversion (issue1359)
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   414
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   415
  $ count=19
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   416
  $ mkdir git-repo3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   417
  $ cd git-repo3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   418
  $ git init-db >/dev/null 2>/dev/null
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22558
diff changeset
   419
  $ $PYTHON -c 'file("b", "wb").write("".join([chr(i) for i in range(256)])*16)'
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   420
  $ git add b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   421
  $ commit -a -m addbinary
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   422
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   423
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   424
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
   425
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   426
  $ hg convert git-repo3 git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   427
  initializing destination git-repo3-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   428
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   429
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   430
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   431
  0 addbinary
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   432
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   433
  $ cd git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   434
  $ hg up -C
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   435
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22558
diff changeset
   436
  $ $PYTHON -c 'print len(file("b", "rb").read())'
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   437
  4096
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   438
  $ cd ..
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
   439
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   440
test author vs committer
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   441
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   442
  $ mkdir git-repo4
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   443
  $ cd git-repo4
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   444
  $ git init-db >/dev/null 2>/dev/null
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   445
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   446
  $ git add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   447
  $ commit -a -m addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   448
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   449
  $ GIT_AUTHOR_NAME="nottest"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   450
  $ commit -a -m addfoo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   451
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   452
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   453
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
   454
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   455
  $ hg convert git-repo4 git-repo4-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   456
  initializing destination git-repo4-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   457
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   458
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   459
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   460
  1 addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   461
  0 addfoo2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   462
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   463
  $ hg -R git-repo4-hg log -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   464
  changeset:   1:d63e967f93da
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   465
  bookmark:    master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   466
  tag:         tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   467
  user:        nottest <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   468
  date:        Mon Jan 01 00:00:21 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   469
  files:       foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   470
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   471
  addfoo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   472
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   473
  committer: test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   474
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   475
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   476
  changeset:   0:0735477b0224
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   477
  user:        test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   478
  date:        Mon Jan 01 00:00:20 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   479
  files:       foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   480
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   481
  addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   482
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   483
  
8691
a0a541d6fed6 convert: fail fast if source does not support --sourcesort
Patrick Mezard <pmezard@gmail.com>
parents: 8523
diff changeset
   484
30813
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   485
Various combinations of committeractions fail
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   486
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   487
  $ hg --config convert.git.committeractions=messagedifferent,messagealways convert git-repo4 bad-committer
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   488
  initializing destination bad-committer repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   489
  abort: committeractions cannot define both messagedifferent and messagealways
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   490
  [255]
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   491
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   492
  $ hg --config convert.git.committeractions=dropcommitter,replaceauthor convert git-repo4 bad-committer
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   493
  initializing destination bad-committer repository
30815
c5bf2e8ec18c convert: remove "replacecommitter" action
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30813
diff changeset
   494
  abort: committeractions cannot define both dropcommitter and replaceauthor
30813
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   495
  [255]
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   496
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   497
  $ hg --config convert.git.committeractions=dropcommitter,messagealways convert git-repo4 bad-committer
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   498
  initializing destination bad-committer repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   499
  abort: committeractions cannot define both dropcommitter and messagealways
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   500
  [255]
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   501
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   502
custom prefix on messagedifferent works
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   503
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   504
  $ hg --config convert.git.committeractions=messagedifferent=different: convert git-repo4 git-repo4-hg-messagedifferentprefix
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   505
  initializing destination git-repo4-hg-messagedifferentprefix repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   506
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   507
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   508
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   509
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   510
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   511
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   512
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   513
  $ hg -R git-repo4-hg-messagedifferentprefix log -v
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   514
  changeset:   1:2fe0c98a109d
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   515
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   516
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   517
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   518
  date:        Mon Jan 01 00:00:21 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   519
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   520
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   521
  addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   522
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   523
  different: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   524
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   525
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   526
  changeset:   0:0735477b0224
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   527
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   528
  date:        Mon Jan 01 00:00:20 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   529
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   530
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   531
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   532
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   533
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   534
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   535
messagealways will always add the "committer: " line even if committer identical
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   536
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   537
  $ hg --config convert.git.committeractions=messagealways convert git-repo4 git-repo4-hg-messagealways
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   538
  initializing destination git-repo4-hg-messagealways repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   539
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   540
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   541
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   542
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   543
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   544
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   545
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   546
  $ hg -R git-repo4-hg-messagealways log -v
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   547
  changeset:   1:8db057d8cd37
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   548
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   549
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   550
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   551
  date:        Mon Jan 01 00:00:21 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   552
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   553
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   554
  addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   555
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   556
  committer: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   557
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   558
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   559
  changeset:   0:8f71fe9c98be
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   560
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   561
  date:        Mon Jan 01 00:00:20 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   562
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   563
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   564
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   565
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   566
  committer: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   567
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   568
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   569
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   570
custom prefix on messagealways works
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   571
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   572
  $ hg --config convert.git.committeractions=messagealways=always: convert git-repo4 git-repo4-hg-messagealwaysprefix
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   573
  initializing destination git-repo4-hg-messagealwaysprefix repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   574
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   575
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   576
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   577
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   578
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   579
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   580
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   581
  $ hg -R git-repo4-hg-messagealwaysprefix log -v
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   582
  changeset:   1:83c17174de79
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   583
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   584
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   585
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   586
  date:        Mon Jan 01 00:00:21 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   587
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   588
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   589
  addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   590
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   591
  always: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   592
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   593
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   594
  changeset:   0:2ac9bcb3534a
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   595
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   596
  date:        Mon Jan 01 00:00:20 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   597
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   598
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   599
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   600
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   601
  always: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   602
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   603
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   604
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   605
replaceauthor replaces author with committer
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   606
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   607
  $ hg --config convert.git.committeractions=replaceauthor convert git-repo4 git-repo4-hg-replaceauthor
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   608
  initializing destination git-repo4-hg-replaceauthor repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   609
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   610
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   611
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   612
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   613
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   614
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   615
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   616
  $ hg -R git-repo4-hg-replaceauthor log -v
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   617
  changeset:   1:122c1d8999ea
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   618
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   619
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   620
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   621
  date:        Mon Jan 01 00:00:21 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   622
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   623
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   624
  addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   625
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   626
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   627
  changeset:   0:0735477b0224
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   628
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   629
  date:        Mon Jan 01 00:00:20 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   630
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   631
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   632
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   633
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   634
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   635
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   636
dropcommitter removes the committer
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   637
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   638
  $ hg --config convert.git.committeractions=dropcommitter convert git-repo4 git-repo4-hg-dropcommitter
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   639
  initializing destination git-repo4-hg-dropcommitter repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   640
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   641
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   642
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   643
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   644
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   645
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   646
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   647
  $ hg -R git-repo4-hg-dropcommitter log -v
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   648
  changeset:   1:190b2da396cc
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   649
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   650
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   651
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   652
  date:        Mon Jan 01 00:00:21 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   653
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   654
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   655
  addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   656
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   657
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   658
  changeset:   0:0735477b0224
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   659
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   660
  date:        Mon Jan 01 00:00:20 2007 +0000
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   661
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   662
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   663
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   664
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   665
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   666
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   667
--sourceorder should fail
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   668
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   669
  $ hg convert --sourcesort git-repo4 git-repo4-sourcesort-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   670
  initializing destination git-repo4-sourcesort-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   671
  abort: --sourcesort is not supported by this data source
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   672
  [255]
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   673
25749
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   674
test converting certain branches
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   675
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   676
  $ mkdir git-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   677
  $ cd git-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   678
  $ git init
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   679
  Initialized empty Git repository in $TESTTMP/git-testrevs/.git/
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   680
  $ echo a >> a ; git add a > /dev/null; git commit -m 'first' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   681
  $ echo a >> a ; git add a > /dev/null; git commit -m 'master commit' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   682
  $ git checkout -b goodbranch 'HEAD^'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   683
  Switched to a new branch 'goodbranch'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   684
  $ echo a >> b ; git add b > /dev/null; git commit -m 'good branch commit' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   685
  $ git checkout -b badbranch 'HEAD^'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   686
  Switched to a new branch 'badbranch'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   687
  $ echo a >> c ; git add c > /dev/null; git commit -m 'bad branch commit' > /dev/null
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   688
  $ cd ..
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   689
  $ hg convert git-testrevs hg-testrevs --rev master --rev goodbranch
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   690
  initializing destination hg-testrevs repository
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   691
  scanning source...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   692
  sorting...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   693
  converting...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   694
  2 first
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   695
  1 good branch commit
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   696
  0 master commit
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   697
  updating bookmarks
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   698
  $ cd hg-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   699
  $ hg log -G -T '{rev} {bookmarks}'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   700
  o  2 master
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   701
  |
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   702
  | o  1 goodbranch
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   703
  |/
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   704
  o  0
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   705
  
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   706
  $ cd ..
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   707
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   708
test sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   709
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   710
  $ mkdir git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   711
  $ cd git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   712
  $ 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
   713
  $ echo 'sub' >> foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   714
  $ git add foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   715
  $ 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
   716
  $ BASE=`pwd`
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   717
  $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   718
  $ mkdir git-repo6
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   719
  $ cd git-repo6
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   720
  $ 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
   721
  $ 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
   722
  $ commit -a -m 'addsubmodule' >/dev/null 2>/dev/null
25698
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   723
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   724
test non-tab whitespace .gitmodules
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   725
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   726
  $ cat >> .gitmodules <<EOF
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   727
  > [submodule "git-repo5"]
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   728
  >   path = git-repo5
25722
eb15c5be381c test-convert-git: use a relative gitmodule url
Matt Harbison <matt_harbison@yahoo.com>
parents: 25721
diff changeset
   729
  >   url = git-repo5
25698
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   730
  > EOF
25721
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
   731
  $ git commit -q -a -m "weird white space submodule"
25698
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   732
  $ cd ..
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   733
  $ hg convert git-repo6 hg-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   734
  initializing destination hg-repo6 repository
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   735
  scanning source...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   736
  sorting...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   737
  converting...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   738
  1 addsubmodule
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   739
  0 weird white space submodule
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   740
  updating bookmarks
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   741
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   742
  $ rm -rf hg-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   743
  $ cd git-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   744
  $ git reset --hard 'HEAD^' > /dev/null
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   745
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   746
test missing .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   747
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   748
  $ git submodule add ../git-repo4 >/dev/null 2>/dev/null
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   749
  $ git checkout HEAD .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   750
  $ git rm .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   751
  rm '.gitmodules'
25721
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
   752
  $ git commit -q -m "remove .gitmodules" .gitmodules
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
   753
  $ git commit -q -m "missing .gitmodules"
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   754
  $ cd ..
26970
6d99cc89ee0e test-convert-git: drop a git warning that doesn't occur on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 26903
diff changeset
   755
  $ hg convert git-repo6 hg-repo6 --traceback 2>&1 | grep -v "fatal: Path '.gitmodules' does not exist"
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   756
  initializing destination hg-repo6 repository
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   757
  scanning source...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   758
  sorting...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   759
  converting...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   760
  2 addsubmodule
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   761
  1 remove .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   762
  0 missing .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   763
  warning: cannot read submodules config file in * (glob)
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   764
  updating bookmarks
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   765
  $ rm -rf hg-repo6
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   766
  $ cd git-repo6
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   767
  $ rm -rf git-repo4
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   768
  $ git reset --hard 'HEAD^^' > /dev/null
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   769
  $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   770
19121
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   771
test invalid splicemap1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   772
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   773
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   774
  > $VALIDID1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   775
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   776
  $ 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
   777
  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
   778
  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
   779
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   780
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   781
test invalid splicemap2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   782
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   783
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   784
  > $VALIDID1 $VALIDID2, $VALIDID2, $VALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   785
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   786
  $ 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
   787
  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
   788
  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
   789
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   790
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   791
test invalid splicemap3
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   792
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   793
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   794
  > $INVALIDID1 $INVALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   795
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   796
  $ 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
   797
  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
   798
  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
   799
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   800
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   801
convert sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   802
  $ 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
   803
  initializing destination git-repo6-hg repository
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   804
  scanning source...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   805
  sorting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   806
  converting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   807
  0 addsubmodule
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   808
  updating bookmarks
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   809
  $ 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
   810
  changeset:   0:* (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   811
  bookmark:    master
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   812
  tag:         tip
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   813
  user:        nottest <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   814
  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
   815
  files:       .hgsub .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   816
  description:
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   817
  addsubmodule
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   818
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   819
  committer: test <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   820
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   821
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   822
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   823
  $ cd git-repo6-hg
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   824
  $ 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
   825
  $ cat .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   826
  * git-repo5 (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   827
  $ cd git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   828
  $ cat foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   829
  sub
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   830
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   831
  $ cd ../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   832
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   833
make sure rename detection doesn't break removing and adding gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   834
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   835
  $ cd git-repo6
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   836
  $ git mv .gitmodules .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   837
  $ commit -a -m 'rename .gitmodules'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   838
  $ git mv .gitmodules-renamed .gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   839
  $ commit -a -m 'rename .gitmodules back'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   840
  $ cd ..
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   841
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   842
  $ hg --config convert.git.similarity=100 convert -q git-repo6 git-repo6-hg
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   843
  $ hg -R git-repo6-hg log -r 'tip^' -T "{desc|firstline}\n"
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   844
  rename .gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   845
  $ hg -R git-repo6-hg status -C --change 'tip^'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   846
  A .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   847
  R .hgsub
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   848
  R .hgsubstate
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   849
  $ hg -R git-repo6-hg log -r tip -T "{desc|firstline}\n"
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   850
  rename .gitmodules back
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   851
  $ hg -R git-repo6-hg status -C --change tip
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   852
  A .hgsub
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   853
  A .hgsubstate
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   854
  R .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   855
21868
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   856
convert the revision removing '.gitmodules' itself (and related
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   857
submodules)
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   858
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   859
  $ cd git-repo6
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   860
  $ git rm .gitmodules
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   861
  rm '.gitmodules'
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   862
  $ git rm --cached git-repo5
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   863
  rm 'git-repo5'
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   864
  $ commit -a -m 'remove .gitmodules and submodule git-repo5'
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   865
  $ cd ..
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   866
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   867
  $ hg convert -q git-repo6 git-repo6-hg
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   868
  $ hg -R git-repo6-hg tip -T "{desc|firstline}\n"
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   869
  remove .gitmodules and submodule git-repo5
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   870
  $ hg -R git-repo6-hg tip -T "{file_dels}\n"
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   871
  .hgsub .hgsubstate
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   872
26077
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   873
skip submodules in the conversion
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   874
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   875
  $ hg convert -q git-repo6 no-submodules --config convert.git.skipsubmodules=True
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   876
  $ hg -R no-submodules manifest --all
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   877
  .gitmodules-renamed
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   878
25787
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   879
convert using a different remote prefix
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   880
  $ git init git-repo7
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   881
  Initialized empty Git repository in $TESTTMP/git-repo7/.git/
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   882
  $ cd git-repo7
26040
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
   883
TODO: it'd be nice to use (?) lines instead of grep -v to handle the
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
   884
git output variance, but that doesn't currently work in the middle of
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
   885
a block, so do this for now.
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
   886
  $ touch a && git add a && git commit -am "commit a" | grep -v changed
25787
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   887
  [master (root-commit) 8ae5f69] commit a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   888
   Author: nottest <test@example.org>
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   889
   create mode 100644 a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   890
  $ cd ..
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   891
  $ git clone git-repo7 git-repo7-client
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   892
  Cloning into 'git-repo7-client'...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   893
  done.
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   894
  $ hg convert --config convert.git.remoteprefix=origin git-repo7-client hg-repo7
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   895
  initializing destination hg-repo7 repository
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   896
  scanning source...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   897
  sorting...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   898
  converting...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   899
  0 commit a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   900
  updating bookmarks
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   901
  $ hg -R hg-repo7 bookmarks
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   902
     master                    0:03bf38caa4c6
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   903
     origin/master             0:03bf38caa4c6
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   904
25905
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   905
Run convert when the remote branches have changed
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   906
(there was an old bug where the local convert read branches from the server)
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   907
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   908
  $ cd git-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   909
  $ echo a >> a
26903
7e8912dbcea2 test-convert-git: silence commit output for stablity
Matt Harbison <matt_harbison@yahoo.com>
parents: 26077
diff changeset
   910
  $ git commit -q -am "move master forward"
25905
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   911
  $ cd ..
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   912
  $ rm -rf hg-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   913
  $ hg convert --config convert.git.remoteprefix=origin git-repo7-client hg-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   914
  initializing destination hg-repo7 repository
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   915
  scanning source...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   916
  sorting...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   917
  converting...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   918
  0 commit a
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   919
  updating bookmarks
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   920
  $ hg -R hg-repo7 bookmarks
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   921
     master                    0:03bf38caa4c6
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   922
     origin/master             0:03bf38caa4c6
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   923
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   924
damaged git repository tests:
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   925
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
   926
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
   927
cd git-repo4/.git/objects
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   928
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
   929
cd ../../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   930
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   931
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
   932
  $ COMMIT_OBJ=1c/0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   933
  $ 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
   934
  $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
30732
d4ec69ff652a tests: update globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 30661
diff changeset
   935
  abort: cannot retrieve number of commits in $TESTTMP/git-repo4/.git (glob)
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   936
  $ 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
   937
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
   938
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   939
  $ BLOB_OBJ=8b/137891791fe96927ad78e64b0aad7bded08bdc
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   940
  $ 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
   941
  $ 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
   942
  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
   943
  $ 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
   944
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
   945
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   946
  $ TREE_OBJ=72/49f083d2a63a41cc737764a86981eb5f3e4635
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   947
  $ 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
   948
  $ 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
   949
  abort: cannot read changes in 1c0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
28663
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   950
32902
642feee29d70 tests: protect tests involving git ext::sh with git-ext-sh
Sean Farley <sean@farley.io>
parents: 30927
diff changeset
   951
#if no-windows git19
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
   952
28663
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   953
test for escaping the repo name (CVE-2016-3069)
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   954
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   955
  $ git init '`echo pwned >COMMAND-INJECTION`'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   956
  Initialized empty Git repository in $TESTTMP/`echo pwned >COMMAND-INJECTION`/.git/
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   957
  $ cd '`echo pwned >COMMAND-INJECTION`'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   958
  $ git commit -q --allow-empty -m 'empty'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   959
  $ cd ..
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   960
  $ hg convert '`echo pwned >COMMAND-INJECTION`' 'converted'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   961
  initializing destination converted repository
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   962
  scanning source...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   963
  sorting...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   964
  converting...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   965
  0 empty
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   966
  updating bookmarks
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   967
  $ test -f COMMAND-INJECTION
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   968
  [1]
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
   969
29051
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   970
test for safely passing paths to git (CVE-2016-3105)
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   971
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   972
  $ git init 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   973
  Initialized empty Git repository in $TESTTMP/ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #/.git/
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   974
  $ cd 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   975
  $ git commit -q --allow-empty -m 'empty'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   976
  $ cd ..
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   977
  $ hg convert 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #' 'converted-git-ext'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   978
  initializing destination converted-git-ext repository
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   979
  scanning source...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   980
  sorting...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   981
  converting...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   982
  0 empty
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   983
  updating bookmarks
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   984
  $ test -f GIT-EXT-COMMAND-INJECTION
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   985
  [1]
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   986
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
   987
#endif
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
   988
30660
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   989
Conversion of extra commit metadata to extras works
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   990
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   991
  $ git init gitextras >/dev/null 2>/dev/null
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   992
  $ cd gitextras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   993
  $ touch foo
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   994
  $ git add foo
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   995
  $ commit -m initial
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   996
  $ echo 1 > foo
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   997
  $ tree=`git write-tree`
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   998
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   999
Git doesn't provider a user-facing API to write extra metadata into the
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1000
commit, so create the commit object by hand
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1001
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1002
  $ git hash-object -t commit -w --stdin << EOF
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1003
  > tree ${tree}
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1004
  > parent ba6b1344e977ece9e00958dbbf17f1f09384b2c1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1005
  > author test <test@example.com> 1000000000 +0000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1006
  > committer test <test@example.com> 1000000000 +0000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1007
  > extra-1 extra-1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1008
  > extra-2 extra-2 with space
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1009
  > convert_revision 0000aaaabbbbccccddddeeee
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1010
  > 
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1011
  > message with extras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1012
  > EOF
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1013
  8123727c8361a4117d1a2d80e0c4e7d70c757f18
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1014
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1015
  $ git reset --hard 8123727c8361a4117d1a2d80e0c4e7d70c757f18 > /dev/null
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1016
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1017
  $ cd ..
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1018
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1019
convert will not retain custom metadata keys by default
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1020
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1021
  $ hg convert gitextras hgextras1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1022
  initializing destination hgextras1 repository
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1023
  scanning source...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1024
  sorting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1025
  converting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1026
  1 initial
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1027
  0 message with extras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1028
  updating bookmarks
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1029
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1030
  $ hg -R hgextras1 log --debug -r 1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1031
  changeset:   1:e13a39880f68479127b2a80fa0b448cc8524aa09
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1032
  bookmark:    master
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1033
  tag:         tip
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1034
  phase:       draft
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1035
  parent:      0:dcb68977c55cd02cbd13b901df65c4b6e7b9c4b9
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1036
  parent:      -1:0000000000000000000000000000000000000000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1037
  manifest:    0:6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1038
  user:        test <test@example.com>
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1039
  date:        Sun Sep 09 01:46:40 2001 +0000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1040
  extra:       branch=default
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1041
  extra:       convert_revision=8123727c8361a4117d1a2d80e0c4e7d70c757f18
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1042
  description:
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1043
  message with extras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1044
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1045
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1046
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1047
Attempting to convert a banned extra is disallowed
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1048
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1049
  $ hg convert --config convert.git.extrakeys=tree,parent gitextras hgextras-banned
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1050
  initializing destination hgextras-banned repository
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1051
  abort: copying of extra key is forbidden: parent, tree
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1052
  [255]
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1053
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1054
Converting a specific extra works
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1055
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1056
  $ hg convert --config convert.git.extrakeys=extra-1 gitextras hgextras2
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1057
  initializing destination hgextras2 repository
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1058
  scanning source...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1059
  sorting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1060
  converting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1061
  1 initial
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1062
  0 message with extras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1063
  updating bookmarks
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1064
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1065
  $ hg -R hgextras2 log --debug -r 1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1066
  changeset:   1:d40fb205d58597e6ecfd55b16f198be5bf436391
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1067
  bookmark:    master
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1068
  tag:         tip
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1069
  phase:       draft
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1070
  parent:      0:dcb68977c55cd02cbd13b901df65c4b6e7b9c4b9
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1071
  parent:      -1:0000000000000000000000000000000000000000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1072
  manifest:    0:6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1073
  user:        test <test@example.com>
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1074
  date:        Sun Sep 09 01:46:40 2001 +0000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1075
  extra:       branch=default
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1076
  extra:       convert_revision=8123727c8361a4117d1a2d80e0c4e7d70c757f18
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1077
  extra:       extra-1=extra-1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1078
  description:
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1079
  message with extras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1080
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1081
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1082
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1083
Converting multiple extras works
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1084
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1085
  $ hg convert --config convert.git.extrakeys=extra-1,extra-2 gitextras hgextras3
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1086
  initializing destination hgextras3 repository
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1087
  scanning source...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1088
  sorting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1089
  converting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1090
  1 initial
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1091
  0 message with extras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1092
  updating bookmarks
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1093
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1094
  $ hg -R hgextras3 log --debug -r 1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1095
  changeset:   1:0105af33379e7b6491501fd34141b7af700fe125
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1096
  bookmark:    master
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1097
  tag:         tip
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1098
  phase:       draft
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1099
  parent:      0:dcb68977c55cd02cbd13b901df65c4b6e7b9c4b9
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1100
  parent:      -1:0000000000000000000000000000000000000000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1101
  manifest:    0:6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1102
  user:        test <test@example.com>
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1103
  date:        Sun Sep 09 01:46:40 2001 +0000
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1104
  extra:       branch=default
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1105
  extra:       convert_revision=8123727c8361a4117d1a2d80e0c4e7d70c757f18
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1106
  extra:       extra-1=extra-1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1107
  extra:       extra-2=extra-2 with space
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1108
  description:
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1109
  message with extras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1110
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1111
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1112
30661
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1113
convert.git.saverev can be disabled to prevent convert_revision from being written
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1114
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1115
  $ hg convert --config convert.git.saverev=false gitextras hgextras4
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1116
  initializing destination hgextras4 repository
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1117
  scanning source...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1118
  sorting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1119
  converting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1120
  1 initial
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1121
  0 message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1122
  updating bookmarks
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1123
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1124
  $ hg -R hgextras4 log --debug -r 1
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1125
  changeset:   1:1dcaf4ffe5bee43fa86db2800821f6f0af212c5c
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1126
  bookmark:    master
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1127
  tag:         tip
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1128
  phase:       draft
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1129
  parent:      0:a13935fec4daf06a5a87a7307ccb0fc94f98d06d
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1130
  parent:      -1:0000000000000000000000000000000000000000
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1131
  manifest:    0:6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1132
  user:        test <test@example.com>
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1133
  date:        Sun Sep 09 01:46:40 2001 +0000
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1134
  extra:       branch=default
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1135
  description:
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1136
  message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1137
  
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1138
  
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1139
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1140
convert.git.saverev and convert.git.extrakeys can be combined to preserve
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1141
convert_revision from source
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1142
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1143
  $ hg convert --config convert.git.saverev=false --config convert.git.extrakeys=convert_revision gitextras hgextras5
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1144
  initializing destination hgextras5 repository
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1145
  scanning source...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1146
  sorting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1147
  converting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1148
  1 initial
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1149
  0 message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1150
  updating bookmarks
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1151
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1152
  $ hg -R hgextras5 log --debug -r 1
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1153
  changeset:   1:574d85931544d4542007664fee3747360e85ee28
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1154
  bookmark:    master
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1155
  tag:         tip
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1156
  phase:       draft
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1157
  parent:      0:a13935fec4daf06a5a87a7307ccb0fc94f98d06d
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1158
  parent:      -1:0000000000000000000000000000000000000000
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1159
  manifest:    0:6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1160
  user:        test <test@example.com>
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1161
  date:        Sun Sep 09 01:46:40 2001 +0000
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1162
  extra:       branch=default
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1163
  extra:       convert_revision=0000aaaabbbbccccddddeeee
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1164
  description:
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1165
  message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1166
  
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1167