tests/test-convert-git.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 03 May 2023 00:12:34 +0200
branchstable
changeset 50365 d1d458fb96a5
parent 49590 2b658c6a9c4b
permissions -rw-r--r--
vfsproxy: inherit the `createmode` attribute too It is an important part of the API when creating directory. We will need it in the next changeset.
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
45684
0c18493287f5 tests: set git config using `git config` for simplicity
Martin von Zweigbergk <martinvonz@google.com>
parents: 45683
diff changeset
     3
  $ git config -f $HOME/.gitconfig init.defaultBranch master
0c18493287f5 tests: set git config using `git config` for simplicity
Martin von Zweigbergk <martinvonz@google.com>
parents: 45683
diff changeset
     4
  $ git config -f $HOME/.gitconfig core.autocrlf false
49590
2b658c6a9c4b tests: fix new git protocol policy in convert-git.t
pacien <pacien.trangirard@pacien.net>
parents: 48879
diff changeset
     5
  $ git config -f $HOME/.gitconfig protocol.file.allow always
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
     6
  $ echo "[extensions]" >> $HGRCPATH
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
     7
  $ echo "convert=" >> $HGRCPATH
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 32902
diff changeset
     8
  $ cat >> $HGRCPATH <<EOF
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 32902
diff changeset
     9
  > [subrepos]
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
    10
  > git:allowed = true
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 32902
diff changeset
    11
  > EOF
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    12
  $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    13
  $ 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
    14
  $ 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
    15
  $ 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
    16
  $ 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
    17
  $ 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
    18
  $ INVALIDID1=afd12345af
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    19
  $ INVALIDID2=28173x36ddd1e67bf7098d541130558ef5534a86
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    20
  $ VALIDID1=39b3d83f9a69a9ba4ebb111461071a0af0027357
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
    21
  $ VALIDID2=8dd6476bd09d9c7776355dc454dafe38efaec5da
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    22
  $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    23
  $ commit()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    24
  > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    25
  >     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
    26
  >     GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    27
  >     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
    28
  >     count=`expr $count + 1`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    29
  > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    30
  $ mkdir git-repo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    31
  $ cd git-repo
45683
04aa48afab99 tests: use `git init` instead of unusual synonym `git init-db`
Martin von Zweigbergk <martinvonz@google.com>
parents: 45656
diff changeset
    32
  $ git init >/dev/null 2>/dev/null
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    33
  $ echo a > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    34
  $ mkdir d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    35
  $ echo b > d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    36
  $ git add a d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    37
  $ 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
    38
22183
4dd9f606d0a6 tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    39
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
    40
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    41
  $ git rm -f d/b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    42
  rm 'd/b'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    43
  $ commit -m t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    44
  $ echo d > d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    45
  $ git add d
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    46
  $ commit -m t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    47
  $ echo b >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    48
  $ commit -a -m t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    49
  $ 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
    50
  $ echo c > a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    51
  $ echo a >> a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    52
  $ commit -a -m t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    53
  $ git checkout master >/dev/null 2>/dev/null
48278
fd3d4b7f8e62 tests: fix test-convert-git to work w/ "git pull" requiring strategy
Kyle Lippincott <spectral@google.com>
parents: 45894
diff changeset
    54
  $ git pull --no-commit . other --no-rebase > /dev/null 2>/dev/null
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    55
  $ commit -m 'Merge branch other'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    56
  $ 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
    57
  $ 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
    58
  >   --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
    59
  >   --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
    60
  >   --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
    61
  \r (no-eol) (esc)
22413
3cb0318bb2dd convert: enable deterministic conversion progress bar for git
Augie Fackler <raf@durin42.com>
parents: 22412
diff changeset
    62
  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
    63
  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
    64
  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
    65
  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
    66
  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
    67
  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
    68
                                                              \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
  \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
  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
    71
  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
    72
  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
    73
                                                              \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
  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
    76
  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
    77
                                                              \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
  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
    80
  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
    81
                                                              \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
  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
    84
  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
    85
                                                              \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
  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
    88
  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
    89
                                                              \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)
dde99b827288 test-convert-git.t: add a test of convert progress bars for git
Augie Fackler <raf@durin42.com>
parents: 22183
diff changeset
    91
  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
    92
  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
    93
                                                              \r (no-eol) (esc)
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    94
  assuming destination git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    95
  initializing destination git-repo-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    96
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    97
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    98
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
    99
  5 t1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   100
  4 t2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   101
  3 t3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   102
  2 t4.1
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   103
  1 t4.2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   104
  0 Merge branch other
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   105
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   106
  $ hg up -q -R git-repo-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   107
  $ hg -R git-repo-hg tip -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   108
  changeset:   5:c78094926be2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   109
  bookmark:    master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   110
  tag:         tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   111
  parent:      3:f5f5cb45432b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   112
  parent:      4:4e174f80c67c
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   113
  user:        test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   114
  date:        Mon Jan 01 00:00:15 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   115
  files:       a
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   116
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   117
  Merge branch other
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   118
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   119
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   120
  $ count=10
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   121
  $ mkdir git-repo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   122
  $ cd git-repo2
45683
04aa48afab99 tests: use `git init` instead of unusual synonym `git init-db`
Martin von Zweigbergk <martinvonz@google.com>
parents: 45656
diff changeset
   123
  $ git init >/dev/null 2>/dev/null
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   124
  $ echo foo > foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   125
  $ git add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   126
  $ commit -a -m 'add foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   127
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   128
  $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   129
  $ 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
   130
  $ echo quux >> quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   131
  $ git add quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   132
  $ commit -a -m 'add quux'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   133
  $ echo bar > bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   134
  $ git add bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   135
  $ commit -a -m 'add bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   136
  $ 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
   137
  $ echo baz > baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   138
  $ git add baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   139
  $ commit -a -m 'add baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   140
  $ git checkout master >/dev/null 2>/dev/null
48278
fd3d4b7f8e62 tests: fix test-convert-git to work w/ "git pull" requiring strategy
Kyle Lippincott <spectral@google.com>
parents: 45894
diff changeset
   141
  $ git pull --no-commit . Bar Baz --no-rebase > /dev/null 2>/dev/null
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   142
  $ commit -m 'Octopus merge'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   143
  $ echo bar >> bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   144
  $ commit -a -m 'change bar'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   145
  $ 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
   146
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   147
  $ commit -a -m 'change foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   148
  $ git checkout master >/dev/null 2>/dev/null
48278
fd3d4b7f8e62 tests: fix test-convert-git to work w/ "git pull" requiring strategy
Kyle Lippincott <spectral@google.com>
parents: 45894
diff changeset
   149
  $ git pull --no-commit -s ours . Foo --no-rebase > /dev/null 2>/dev/null
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   150
  $ commit -m 'Discard change to foo'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   151
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   152
  $ glog()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   153
  > {
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 19121
diff changeset
   154
  >     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
   155
  > }
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   156
  $ splitrepo()
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   157
  > {
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   158
  >     msg="$1"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   159
  >     files="$2"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   160
  >     opts=$3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   161
  >     echo "% $files: $msg"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   162
  >     prefix=`echo "$files" | sed -e 's/ /-/g'`
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   163
  >     fmap="$prefix.fmap"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   164
  >     repo="$prefix.repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   165
  >     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
   166
  >         echo "include $i" >> "$fmap"
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   167
  >     done
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   168
  >     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
   169
  >     hg up -q -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   170
  >     glog -R "$repo"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   171
  >     hg -R "$repo" manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   172
  > }
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   173
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   174
full conversion
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   175
24327
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   176
  $ 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
   177
  > --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
   178
  > --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
   179
  > --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
   180
  > --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
   181
  \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 [===>                                        ] 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
   183
  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
   184
  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
   185
  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
   186
  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
   187
  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
   188
  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
   189
  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
   190
  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
   191
                                                              \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
  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
   194
  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
   195
                                                              \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
  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
   198
  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
   199
                                                              \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
  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
   202
  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
   203
                                                              \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
  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
   206
  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
   207
                                                              \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
  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
   210
  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
   211
                                                              \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
   212
  \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
   213
  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
   214
  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
   215
  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
   216
  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
   217
  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
   218
  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
   219
  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
   220
  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
   221
  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
   222
                                                              \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
  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
   225
  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
   226
                                                              \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
  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
   229
  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
   230
                                                              \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
  \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
  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
   233
  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
   234
  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
   235
                                                              \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
   236
  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
   237
  scanning source...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   238
  sorting...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   239
  converting...
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   240
  8 add foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   241
  7 change foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   242
  6 add quux
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   243
  5 add bar
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   244
  4 add baz
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   245
  3 Octopus merge
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   246
  2 change bar
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   247
  1 change foo
f7c0556d22d7 test-convert-git: show insane progress bar with octopus merge (issue4169)
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   248
  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
   249
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   250
  $ hg up -q -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   251
  $ glog -R fullrepo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   252
  @    9 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   253
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   254
  | o  8 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   255
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   256
  o |  7 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   257
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   258
  o    6 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   259
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   260
  | o    5 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   261
  | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   262
  o | |  4 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   263
  | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   264
  +---o  3 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   265
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   266
  o |  2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   267
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   268
  | o  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   269
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   270
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   271
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   272
  $ hg -R fullrepo manifest --debug
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   273
  245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   274
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   275
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   276
  88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   277
  $ splitrepo 'octopus merge' 'foo bar baz'
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   278
  % foo bar baz: octopus merge
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   279
  @    8 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   280
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   281
  | o  7 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   282
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   283
  o |  6 "change bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   284
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   285
  o    5 "(octopus merge fixup)" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   286
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   287
  | o    4 "Octopus merge" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   288
  | |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   289
  o | |  3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   290
  | | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   291
  +---o  2 "add bar" files: bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   292
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   293
  | o  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   294
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   295
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   296
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   297
  245a3b8bc653999c2b22cdabd517ccb47aecafdf 644   bar
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   298
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   299
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   300
  $ 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
   301
  % 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
   302
  @  6 "Discard change to foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   303
  |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   304
  o  5 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   305
  |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   306
  o    4 "Octopus merge" files:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   307
  |\
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   308
  | o  3 "add baz" files: baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   309
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   310
  | o  2 "add quux" files: quux
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   311
  | |
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   312
  o |  1 "change foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   313
  |/
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   314
  o  0 "add foo" files: foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   315
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   316
  354ae8da6e890359ef49ade27b68bbc361f3ca88 644   baz
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   317
  9277c9cc8dd4576fc01a17939b4351e5ada93466 644   foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   318
  88dfeab657e8cf2cef3dec67b914f49791ae76b1 644   quux
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   319
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   320
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
   321
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   322
  $ cd git-repo2
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   323
  $ git mv foo foo-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   324
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
   325
  $ cp bar bar-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   326
  $ cp baz baz-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   327
  $ cp baz baz-copied2
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   328
  $ cp baz ba-copy
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   329
  $ echo baz2 >> baz
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   330
  $ 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
   331
  $ 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
   332
  $ cd ..
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   333
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   334
input validation
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=foo --datesort git-repo2 fullrepo
45894
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 45841
diff changeset
   336
  config error: convert.git.similarity is not a valid integer ('foo')
45841
bff719525815 errors: set detailed exit code to 30 for config errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 45684
diff changeset
   337
  [30]
22470
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=-1 --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
  $ 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
   342
  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
   343
  [255]
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   344
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   345
  $ 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
   346
  $ 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
   347
  M baz
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   348
  A ba-copy
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   349
    baz
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   350
  A bar-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   351
  A baz-copied
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   352
    baz
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   353
  A baz-copied2
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   354
    baz
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   355
  A foo-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   356
    foo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   357
  R foo
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   358
25997
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   359
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
   360
(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
   361
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
   362
  $ hg cat -r tip fullrepo/baz
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   363
  baz
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   364
  baz2
d4e1e947444b convert: fix git copy file content conversions
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   365
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
  $ cd git-repo2
22558
064a912ebfc2 test-convert-git.t: make copy detection deterministic
Siddharth Agarwal <sid0@fb.com>
parents: 22511
diff changeset
   367
  $ echo bar2 >> bar
064a912ebfc2 test-convert-git.t: make copy detection deterministic
Siddharth Agarwal <sid0@fb.com>
parents: 22511
diff changeset
   368
  $ 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
   369
  $ 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
   370
  $ 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
   371
  $ 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
   372
  $ 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
   373
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
  $ 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
   375
  > --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
   376
  $ 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
   377
  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
   378
    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
   379
30646
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   380
renamelimit config option works
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   381
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   382
  $ cd git-repo2
30657
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   383
  $ cat >> copy-source << EOF
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   384
  > sc0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   385
  > sc1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   386
  > sc2
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   387
  > sc3
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   388
  > sc4
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   389
  > sc5
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   390
  > sc6
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   391
  > EOF
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   392
  $ git add copy-source
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   393
  $ commit -m 'add copy-source'
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   394
  $ cp copy-source source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   395
  $ echo 0 >> source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   396
  $ cp copy-source source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   397
  $ echo 1 >> source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   398
  $ git add source-copy0 source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   399
  $ 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
   400
  $ cd ..
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   401
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   402
  $ 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
   403
  > --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
   404
  $ 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
   405
  A source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   406
  A source-copy1
30646
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   407
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   408
  $ 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
   409
  > --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
   410
  $ 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
   411
  A source-copy0
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   412
    copy-source
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   413
  A source-copy1
73b1a209b5b8 tests: make test-convert-git.t reproducible
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30646
diff changeset
   414
    copy-source
30646
ea3540e66fd8 convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29051
diff changeset
   415
22183
4dd9f606d0a6 tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
   416
test binary conversion (issue1359)
5380
a5a7f7fd5554 convert_git: add --filemap support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5369
diff changeset
   417
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   418
  $ count=19
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   419
  $ mkdir git-repo3
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   420
  $ cd git-repo3
45683
04aa48afab99 tests: use `git init` instead of unusual synonym `git init-db`
Martin von Zweigbergk <martinvonz@google.com>
parents: 45656
diff changeset
   421
  $ git init >/dev/null 2>/dev/null
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 37580
diff changeset
   422
  $ "$PYTHON" -c 'import struct; open("b", "wb").write(b"".join([struct.Struct(">B").pack(i) for i in range(256)])*16)'
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   423
  $ git add b
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   424
  $ commit -a -m addbinary
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   425
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   426
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   427
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
   428
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   429
  $ hg convert git-repo3 git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   430
  initializing destination git-repo3-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   431
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   432
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   433
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   434
  0 addbinary
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   435
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   436
  $ cd git-repo3-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   437
  $ hg up -C
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   438
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
48879
9987d14ad63f py2: drop some more from __future__ statements
Gregory Szorc <gregory.szorc@gmail.com>
parents: 48278
diff changeset
   439
  $ "$PYTHON" -c 'print(len(open("b", "rb").read()))'
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   440
  4096
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   441
  $ cd ..
7222
c1dc903dc7b6 convert: read git output in binary mode under Windows (issue 1359)
Patrick Mezard <pmezard@gmail.com>
parents: 5380
diff changeset
   442
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   443
test author vs committer
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   444
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   445
  $ mkdir git-repo4
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   446
  $ cd git-repo4
45683
04aa48afab99 tests: use `git init` instead of unusual synonym `git init-db`
Martin von Zweigbergk <martinvonz@google.com>
parents: 45656
diff changeset
   447
  $ git init >/dev/null 2>/dev/null
12530
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 add foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   450
  $ commit -a -m addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   451
  $ echo >> foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   452
  $ GIT_AUTHOR_NAME="nottest"
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   453
  $ commit -a -m addfoo2
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   454
  $ cd ..
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   455
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   456
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
   457
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   458
  $ hg convert git-repo4 git-repo4-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   459
  initializing destination git-repo4-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   460
  scanning source...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   461
  sorting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   462
  converting...
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   463
  1 addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   464
  0 addfoo2
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   465
  updating bookmarks
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   466
  $ hg -R git-repo4-hg log -v
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   467
  changeset:   1:d63e967f93da
13756
6b7077df4aa5 convert: add bookmarks reading support to git backend
Edouard Gomez <ed.gomez@free.fr>
parents: 12743
diff changeset
   468
  bookmark:    master
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   469
  tag:         tip
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   470
  user:        nottest <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   471
  date:        Mon Jan 01 00:00:21 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   472
  files:       foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   473
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   474
  addfoo2
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
  committer: test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   477
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   478
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   479
  changeset:   0:0735477b0224
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   480
  user:        test <test@example.org>
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   481
  date:        Mon Jan 01 00:00:20 2007 +0000
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   482
  files:       foo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   483
  description:
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   484
  addfoo
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   485
  
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   486
  
8691
a0a541d6fed6 convert: fail fast if source does not support --sourcesort
Patrick Mezard <pmezard@gmail.com>
parents: 8523
diff changeset
   487
30813
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   488
Various combinations of committeractions fail
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   489
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   490
  $ 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
   491
  initializing destination bad-committer repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   492
  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
   493
  [255]
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   494
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   495
  $ 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
   496
  initializing destination bad-committer repository
30815
c5bf2e8ec18c convert: remove "replacecommitter" action
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30813
diff changeset
   497
  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
   498
  [255]
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   499
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   500
  $ 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
   501
  initializing destination bad-committer repository
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   502
  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
   503
  [255]
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   504
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   505
custom prefix on messagedifferent works
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   506
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   507
  $ 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
   508
  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
   509
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   510
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   511
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   512
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   513
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   514
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   515
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   516
  $ 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
   517
  changeset:   1:2fe0c98a109d
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   518
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   519
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   520
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   521
  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
   522
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   523
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   524
  addfoo2
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
  different: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   527
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   528
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   529
  changeset:   0:0735477b0224
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   530
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   531
  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
   532
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   533
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   534
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   535
  
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
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   538
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
   539
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   540
  $ 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
   541
  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
   542
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   543
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   544
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   545
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   546
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   547
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   548
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   549
  $ 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
   550
  changeset:   1:8db057d8cd37
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   551
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   552
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   553
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   554
  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
   555
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   556
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   557
  addfoo2
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
  committer: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   560
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   561
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   562
  changeset:   0:8f71fe9c98be
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   563
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   564
  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
   565
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   566
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   567
  addfoo
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
  committer: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   570
  
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
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   573
custom prefix on messagealways works
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   574
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   575
  $ 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
   576
  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
   577
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   578
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   579
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   580
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   581
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   582
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   583
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   584
  $ 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
   585
  changeset:   1:83c17174de79
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   586
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   587
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   588
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   589
  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
   590
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   591
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   592
  addfoo2
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
  always: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   595
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   596
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   597
  changeset:   0:2ac9bcb3534a
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   598
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   599
  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
   600
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   601
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   602
  addfoo
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
  always: test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   605
  
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
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   608
replaceauthor replaces author with committer
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   609
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   610
  $ 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
   611
  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
   612
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   613
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   614
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   615
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   616
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   617
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   618
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   619
  $ 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
   620
  changeset:   1:122c1d8999ea
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   621
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   622
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   623
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   624
  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
   625
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   626
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   627
  addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   628
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   629
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   630
  changeset:   0:0735477b0224
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   631
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   632
  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
   633
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   634
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   635
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   636
  
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
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   639
dropcommitter removes the committer
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   640
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   641
  $ 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
   642
  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
   643
  scanning source...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   644
  sorting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   645
  converting...
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   646
  1 addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   647
  0 addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   648
  updating bookmarks
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   649
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   650
  $ 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
   651
  changeset:   1:190b2da396cc
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   652
  bookmark:    master
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   653
  tag:         tip
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   654
  user:        nottest <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   655
  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
   656
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   657
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   658
  addfoo2
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   659
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   660
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   661
  changeset:   0:0735477b0224
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   662
  user:        test <test@example.org>
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   663
  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
   664
  files:       foo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   665
  description:
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   666
  addfoo
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   667
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   668
  
2cbbd4622ab0 convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30732
diff changeset
   669
12530
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   670
--sourceorder should fail
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   671
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   672
  $ hg convert --sourcesort git-repo4 git-repo4-sourcesort-hg
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   673
  initializing destination git-repo4-sourcesort-hg repository
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   674
  abort: --sourcesort is not supported by this data source
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   675
  [255]
f11793a8c107 tests: unify test-convert-git
Matt Mackall <mpm@selenic.com>
parents: 10990
diff changeset
   676
25749
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   677
test converting certain branches
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   678
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   679
  $ mkdir git-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   680
  $ cd git-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   681
  $ git init
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   682
  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
   683
  $ 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
   684
  $ 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
   685
  $ git checkout -b goodbranch '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 'goodbranch'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   687
  $ 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
   688
  $ git checkout -b badbranch 'HEAD^'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   689
  Switched to a new branch 'badbranch'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   690
  $ 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
   691
  $ cd ..
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   692
  $ 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
   693
  initializing destination hg-testrevs repository
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   694
  scanning source...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   695
  sorting...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   696
  converting...
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   697
  2 first
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   698
  1 good branch commit
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   699
  0 master commit
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   700
  updating bookmarks
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   701
  $ cd hg-testrevs
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   702
  $ hg log -G -T '{rev} {bookmarks}'
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   703
  o  2 master
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   704
  |
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   705
  | o  1 goodbranch
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   706
  |/
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   707
  o  0
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   708
  
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   709
  $ cd ..
f2748cc43b2a convert: support multiple specifed revs in git source
Durham Goode <durham@fb.com>
parents: 25722
diff changeset
   710
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   711
test sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   712
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   713
  $ mkdir git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   714
  $ cd git-repo5
45683
04aa48afab99 tests: use `git init` instead of unusual synonym `git init-db`
Martin von Zweigbergk <martinvonz@google.com>
parents: 45656
diff changeset
   715
  $ git init >/dev/null 2>/dev/null
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   716
  $ echo 'sub' >> foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   717
  $ git add foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   718
  $ 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
   719
  $ BASE=`pwd`
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   720
  $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   721
  $ mkdir git-repo6
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   722
  $ cd git-repo6
45683
04aa48afab99 tests: use `git init` instead of unusual synonym `git init-db`
Martin von Zweigbergk <martinvonz@google.com>
parents: 45656
diff changeset
   723
  $ git init >/dev/null 2>/dev/null
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   724
  $ 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
   725
  $ 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
   726
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   727
test non-tab whitespace .gitmodules
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   728
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   729
  $ cat >> .gitmodules <<EOF
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   730
  > [submodule "git-repo5"]
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   731
  >   path = git-repo5
25722
eb15c5be381c test-convert-git: use a relative gitmodule url
Matt Harbison <matt_harbison@yahoo.com>
parents: 25721
diff changeset
   732
  >   url = git-repo5
25698
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   733
  > EOF
25721
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
   734
  $ 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
   735
  $ cd ..
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   736
  $ hg convert git-repo6 hg-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   737
  initializing destination hg-repo6 repository
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   738
  scanning source...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   739
  sorting...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   740
  converting...
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   741
  1 addsubmodule
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   742
  0 weird white space submodule
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   743
  updating bookmarks
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   744
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   745
  $ rm -rf hg-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   746
  $ cd git-repo6
307370c2dda2 convert: handle .gitmodules with non-tab whitespaces
Durham Goode <durham@fb.com>
parents: 24328
diff changeset
   747
  $ git reset --hard 'HEAD^' > /dev/null
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   748
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   749
test missing .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   750
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   751
  $ git submodule add ../git-repo4 >/dev/null 2>/dev/null
41287
c0221d929eb9 tests: suppress "Checked out 1 paths of <hash>" from modern git
Martin von Zweigbergk <martinvonz@google.com>
parents: 39707
diff changeset
   752
  $ git checkout HEAD -- .gitmodules
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   753
  $ git rm .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   754
  rm '.gitmodules'
25721
5b9b70635423 test-convert-git: stablize for git 1.7.7.6
Matt Harbison <matt_harbison@yahoo.com>
parents: 25699
diff changeset
   755
  $ 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
   756
  $ git commit -q -m "missing .gitmodules"
25699
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   757
  $ 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
   758
  $ 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
   759
  initializing destination hg-repo6 repository
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   760
  scanning source...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   761
  sorting...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   762
  converting...
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   763
  2 addsubmodule
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   764
  1 remove .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   765
  0 missing .gitmodules
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   766
  warning: cannot read submodules config file in * (glob)
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   767
  updating bookmarks
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   768
  $ rm -rf hg-repo6
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   769
  $ cd git-repo6
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   770
  $ rm -rf git-repo4
5c97a4ecbdd4 convert: improve support for unusual .gitmodules
Durham Goode <durham@fb.com>
parents: 25698
diff changeset
   771
  $ 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
   772
  $ cd ..
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   773
19121
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   774
test invalid splicemap1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   775
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   776
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   777
  > $VALIDID1
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   778
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   779
  $ 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
   780
  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
   781
  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
   782
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   783
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   784
test invalid splicemap2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   785
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   786
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   787
  > $VALIDID1 $VALIDID2, $VALIDID2, $VALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   788
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   789
  $ 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
   790
  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
   791
  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
   792
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   793
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   794
test invalid splicemap3
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   795
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   796
  $ cat > splicemap <<EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   797
  > $INVALIDID1 $INVALIDID2
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   798
  > EOF
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   799
  $ 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
   800
  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
   801
  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
   802
  [255]
478a04605ce1 splicemap: improve error handling when source is git (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 18571
diff changeset
   803
17929
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   804
convert sub modules
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   805
  $ 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
   806
  initializing destination git-repo6-hg repository
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   807
  scanning source...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   808
  sorting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   809
  converting...
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   810
  0 addsubmodule
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   811
  updating bookmarks
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   812
  $ 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
   813
  changeset:   0:* (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   814
  bookmark:    master
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   815
  tag:         tip
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   816
  user:        nottest <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   817
  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
   818
  files:       .hgsub .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   819
  description:
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   820
  addsubmodule
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
  committer: test <test@example.org>
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   823
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   824
  
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   825
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   826
  $ cd git-repo6-hg
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   827
  $ 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
   828
  $ cat .hgsubstate
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   829
  * git-repo5 (glob)
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   830
  $ cd git-repo5
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   831
  $ cat foo
0eed66327ad4 convert: add support for converting git submodule (issue3528)
YaNan Xu <robot9@fb.com>
parents: 16954
diff changeset
   832
  sub
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   833
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   834
  $ cd ../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   835
22470
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   836
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
   837
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   838
  $ cd git-repo6
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   839
  $ git mv .gitmodules .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   840
  $ commit -a -m 'rename .gitmodules'
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   841
  $ git mv .gitmodules-renamed .gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   842
  $ 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
   843
  $ cd ..
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   844
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   845
  $ 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
   846
  $ 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
   847
  rename .gitmodules
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   848
  $ 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
   849
  A .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   850
  R .hgsub
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   851
  R .hgsubstate
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   852
  $ 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
   853
  rename .gitmodules back
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   854
  $ 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
   855
  A .hgsub
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   856
  A .hgsubstate
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   857
  R .gitmodules-renamed
8e0c4df28eec convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents: 22413
diff changeset
   858
21868
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   859
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
   860
submodules)
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   861
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   862
  $ 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
   863
  $ 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
   864
  rm '.gitmodules'
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   865
  $ 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
   866
  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
   867
  $ 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
   868
  $ cd ..
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   869
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   870
  $ 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
   871
  $ 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
   872
  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
   873
  $ 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
   874
  .hgsub .hgsubstate
3420346174b1 convert: detect removal of ".gitmodules" at git source revisions correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20117
diff changeset
   875
26077
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   876
skip submodules in the conversion
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   877
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   878
  $ 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
   879
  $ hg -R no-submodules manifest --all
37438
7b7ca9ba2de5 commands: don't violate storage abstractions in `manifest --all`
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37437
diff changeset
   880
  .gitmodules-renamed
26077
e63d05fbae84 convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents: 26047
diff changeset
   881
25787
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   882
convert using a different remote prefix
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   883
  $ git init git-repo7
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   884
  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
   885
  $ cd git-repo7
26040
97208371715a test-convert-git: work around output format changes in git
Augie Fackler <augie@google.com>
parents: 25997
diff changeset
   886
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
   887
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
   888
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
   889
  $ 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
   890
  [master (root-commit) 8ae5f69] commit a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   891
   Author: nottest <test@example.org>
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   892
   create mode 100644 a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   893
  $ cd ..
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   894
  $ git clone git-repo7 git-repo7-client
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   895
  Cloning into 'git-repo7-client'...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   896
  done.
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   897
  $ 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
   898
  initializing destination hg-repo7 repository
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   899
  scanning source...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   900
  sorting...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   901
  converting...
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   902
  0 commit a
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   903
  updating bookmarks
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   904
  $ hg -R hg-repo7 bookmarks
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   905
     master                    0:03bf38caa4c6
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   906
     origin/master             0:03bf38caa4c6
d9133e89d39d convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents: 25749
diff changeset
   907
25905
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   908
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
   909
(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
   910
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   911
  $ cd git-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   912
  $ echo a >> a
26903
7e8912dbcea2 test-convert-git: silence commit output for stablity
Matt Harbison <matt_harbison@yahoo.com>
parents: 26077
diff changeset
   913
  $ 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
   914
  $ cd ..
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   915
  $ rm -rf hg-repo7
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   916
  $ 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
   917
  initializing destination hg-repo7 repository
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   918
  scanning source...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   919
  sorting...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   920
  converting...
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   921
  0 commit a
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   922
  updating bookmarks
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   923
  $ hg -R hg-repo7 bookmarks
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   924
     master                    0:03bf38caa4c6
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   925
     origin/master             0:03bf38caa4c6
80149d0b6842 convert: fix git convert using servers branches
Durham Goode <durham@fb.com>
parents: 25787
diff changeset
   926
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   927
damaged git repository tests:
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   928
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
   929
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
   930
cd git-repo4/.git/objects
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   931
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
   932
cd ../../..
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   933
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   934
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
   935
  $ COMMIT_OBJ=1c/0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
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 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
   937
  $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34989
diff changeset
   938
  abort: cannot retrieve number of commits in $TESTTMP/git-repo4/.git
18571
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   939
  $ 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
   940
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
   941
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   942
  $ BLOB_OBJ=8b/137891791fe96927ad78e64b0aad7bded08bdc
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 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
   944
  $ 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
   945
  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
   946
  $ 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
   947
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
   948
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   949
  $ TREE_OBJ=72/49f083d2a63a41cc737764a86981eb5f3e4635
ad5817505834 test-convert-git: stabilize corruption of test git repo
Ross Lagerwall <rosslagerwall@gmail.com>
parents: 18508
diff changeset
   950
  $ 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
   951
  $ 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
   952
  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
   953
32902
642feee29d70 tests: protect tests involving git ext::sh with git-ext-sh
Sean Farley <sean@farley.io>
parents: 30927
diff changeset
   954
#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
   955
28663
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   956
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
   957
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   958
  $ 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
   959
  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
   960
  $ cd '`echo pwned >COMMAND-INJECTION`'
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   961
  $ 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
   962
  $ cd ..
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   963
  $ 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
   964
  initializing destination converted repository
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   965
  scanning source...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   966
  sorting...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   967
  converting...
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   968
  0 empty
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   969
  updating bookmarks
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   970
  $ test -f COMMAND-INJECTION
ae279d4a19e9 convert: test for shell injection in git calls (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 28660
diff changeset
   971
  [1]
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
   972
29051
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   973
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
   974
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   975
  $ 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
   976
  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
   977
  $ 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
   978
  $ git commit -q --allow-empty -m 'empty'
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   979
  $ cd ..
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   980
  $ 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
   981
  initializing destination converted-git-ext repository
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   982
  scanning source...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   983
  sorting...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   984
  converting...
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   985
  0 empty
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   986
  updating bookmarks
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   987
  $ test -f GIT-EXT-COMMAND-INJECTION
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   988
  [1]
a56296f55a5e convert: pass absolute paths to git (SEC)
Blake Burkhart <bburky@bburky.com>
parents: 28940
diff changeset
   989
28940
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
   990
#endif
4a359b8f8fae test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28663
diff changeset
   991
30660
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   992
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
   993
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   994
  $ 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
   995
  $ cd gitextras
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   996
  $ touch foo
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
   997
  $ 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
   998
  $ 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
   999
  $ 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
  1000
  $ 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
  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 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
  1003
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
  1004
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1005
  $ 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
  1006
  > tree ${tree}
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1007
  > parent ba6b1344e977ece9e00958dbbf17f1f09384b2c1
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1008
  > 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
  1009
  > 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
  1010
  > 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
  1011
  > 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
  1012
  > 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
  1013
  > 
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1014
  > 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
  1015
  > EOF
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1016
  8123727c8361a4117d1a2d80e0c4e7d70c757f18
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1017
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1018
  $ 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
  1019
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1020
  $ cd ..
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1021
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1022
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
  1023
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1024
  $ 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
  1025
  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
  1026
  scanning source...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1027
  sorting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1028
  converting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1029
  1 initial
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1030
  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
  1031
  updating bookmarks
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1032
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1033
  $ 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
  1034
  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
  1035
  bookmark:    master
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1036
  tag:         tip
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1037
  phase:       draft
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1038
  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
  1039
  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
  1040
  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
  1041
  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
  1042
  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
  1043
  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
  1044
  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
  1045
  description:
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1046
  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
  1047
  
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
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1050
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
  1051
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1052
  $ 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
  1053
  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
  1054
  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
  1055
  [255]
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1056
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1057
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
  1058
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1059
  $ 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
  1060
  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
  1061
  scanning source...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1062
  sorting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1063
  converting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1064
  1 initial
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1065
  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
  1066
  updating bookmarks
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1067
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1068
  $ 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
  1069
  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
  1070
  bookmark:    master
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1071
  tag:         tip
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1072
  phase:       draft
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1073
  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
  1074
  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
  1075
  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
  1076
  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
  1077
  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
  1078
  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
  1079
  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
  1080
  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
  1081
  description:
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1082
  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
  1083
  
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
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1086
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
  1087
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1088
  $ 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
  1089
  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
  1090
  scanning source...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1091
  sorting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1092
  converting...
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1093
  1 initial
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1094
  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
  1095
  updating bookmarks
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1096
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1097
  $ 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
  1098
  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
  1099
  bookmark:    master
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1100
  tag:         tip
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1101
  phase:       draft
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1102
  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
  1103
  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
  1104
  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
  1105
  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
  1106
  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
  1107
  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
  1108
  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
  1109
  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
  1110
  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
  1111
  description:
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1112
  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
  1113
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1114
  
1f21a6835604 convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30657
diff changeset
  1115
30661
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1116
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
  1117
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1118
  $ 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
  1119
  initializing destination hgextras4 repository
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1120
  scanning source...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1121
  sorting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1122
  converting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1123
  1 initial
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1124
  0 message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1125
  updating bookmarks
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1126
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1127
  $ 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
  1128
  changeset:   1:1dcaf4ffe5bee43fa86db2800821f6f0af212c5c
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1129
  bookmark:    master
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1130
  tag:         tip
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1131
  phase:       draft
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1132
  parent:      0:a13935fec4daf06a5a87a7307ccb0fc94f98d06d
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1133
  parent:      -1:0000000000000000000000000000000000000000
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1134
  manifest:    0:6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1135
  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
  1136
  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
  1137
  extra:       branch=default
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1138
  description:
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1139
  message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1140
  
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1141
  
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
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
  1144
convert_revision from source
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1145
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1146
  $ 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
  1147
  initializing destination hgextras5 repository
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1148
  scanning source...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1149
  sorting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1150
  converting...
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1151
  1 initial
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1152
  0 message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1153
  updating bookmarks
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1154
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1155
  $ 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
  1156
  changeset:   1:574d85931544d4542007664fee3747360e85ee28
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1157
  bookmark:    master
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1158
  tag:         tip
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1159
  phase:       draft
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1160
  parent:      0:a13935fec4daf06a5a87a7307ccb0fc94f98d06d
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1161
  parent:      -1:0000000000000000000000000000000000000000
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1162
  manifest:    0:6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1163
  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
  1164
  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
  1165
  extra:       branch=default
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1166
  extra:       convert_revision=0000aaaabbbbccccddddeeee
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1167
  description:
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1168
  message with extras
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1169
  
ced0d686ecb3 convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30660
diff changeset
  1170