Mercurial > hg-git
annotate tests/test-extra.t @ 844:fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
See inline comments for why the additional metadata needs to be stored.
This literally breaks all the hashes because of the additional metadata. The
changing of hashes is unfortunate but necessary to preserve bidirectionality.
While this could be broken up into multiple commits, there was no way to do
that while preserving bidirectionality. Following the principle that every
intermediate commit must result in a correct state, I decided to combine the
commits.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Tue, 02 Dec 2014 14:17:09 -0800 |
parents | 389676318d4c |
children | 96c74ae74ccd |
rev | line source |
---|---|
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
1 Test that extra metadata (renames, copies, and other extra metadata) roundtrips |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
2 across from hg to git |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
3 $ . "$TESTDIR/testutil" |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
4 |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
5 $ git init -q gitrepo |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
6 $ cd gitrepo |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
7 $ touch a |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
8 $ git add a |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
9 $ fn_git_commit -ma |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
10 $ git checkout -b not-master 2>&1 | sed s/\'/\"/g |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
11 Switched to a new branch "not-master" |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
12 |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
13 $ cd .. |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
14 $ hg clone -q gitrepo hgrepo |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
15 $ cd hgrepo |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
16 $ hg mv a b |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
17 $ fn_hg_commit -mb |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
18 $ hg up 0 | egrep -v '^\(leaving bookmark master\)$' |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
19 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
20 $ touch c |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
21 $ hg add c |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
22 $ fn_hg_commit -mc |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
23 |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
24 Rebase will add a rebase_source |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
25 $ hg --config extensions.rebase= rebase -s 1 -d 2 |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
26 saved backup bundle to $TESTTMP/*.hg (glob) |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
27 $ hg up 2 |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
28 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
29 |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
30 Add a commit with multiple extra fields |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
31 $ hg bookmark b1 |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
32 $ touch d |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
33 $ hg add d |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
34 $ fn_hg_commitextra --field zzzzzzz=datazzz --field aaaaaaa=dataaaa |
761
c68edf83bfbc
test-extra.t: use a templater format that's portable back to hg 2.8.2
Augie Fackler <raf@durin42.com>
parents:
759
diff
changeset
|
35 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
36 @ 3 f01651cfcc9337fbd9700d5018ca637a2911ed28 |
761
c68edf83bfbc
test-extra.t: use a templater format that's portable back to hg 2.8.2
Augie Fackler <raf@durin42.com>
parents:
759
diff
changeset
|
37 | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
38 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
39 o 2 03f4cf3c429050e2204fb2bda3a0f93329bdf4fd b |
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
40 | branch=default rebase_source=4c7da7adf18b785726a7421ef0d585bb5762990d |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
41 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
42 o 1 a735dc0cd7cc0ccdbc16cfa4326b19c707c360f4 c |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
43 | branch=default |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
44 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
45 o 0 aa9eb6424386df2b0638fe6f480c3767fdd0e6fd a |
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
46 branch=default hg-git-rename-source=git |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
47 |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
48 Make sure legacy extra (in commit message, after '--HG--') doesn't break |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
49 $ hg push -r b1 --config git.debugextrainmessage=1 |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
50 pushing to $TESTTMP/gitrepo |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
51 searching for changes |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
52 adding objects |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
53 added 3 commits with 3 trees and 0 blobs |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
54 adding reference refs/heads/b1 |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
55 |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
56 $ hg bookmark b2 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
57 $ hg mv c c2 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
58 $ hg mv d d2 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
59 $ fn_hg_commitextra --field yyyyyyy=datayyy --field bbbbbbb=databbb |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
60 |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
61 Test some nutty filenames |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
62 $ hg book b3 |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
63 $ hg mv c2 'c2 => c3' |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
64 warning: filename contains '>', which is reserved on Windows: 'c2 => c3' |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
65 $ fn_hg_commit -m 'test filename with arrow' |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
66 $ hg mv 'c2 => c3' 'c3 => c4' |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
67 warning: filename contains '>', which is reserved on Windows: 'c3 => c4' |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
68 $ fn_hg_commit -m 'test filename with arrow 2' |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
69 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" -l 3 |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
70 @ 6 bca4ba69a6844c133b069e227dfa043d41e3c197 test filename with arrow 2 |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
71 | branch=default |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
72 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
73 o 5 864caad1f3493032f8d06f44a89dc9f1c039b09f test filename with arrow |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
74 | branch=default |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
75 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
76 o 4 58f855ae26f4930ce857e648d3dd949901cce817 |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
77 | bbbbbbb=databbb branch=default yyyyyyy=datayyy |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
78 | |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
79 $ hg push -r b2 -r b3 |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
80 pushing to $TESTTMP/gitrepo |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
81 searching for changes |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
82 adding objects |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
83 added 3 commits with 3 trees and 0 blobs |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
84 adding reference refs/heads/b2 |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
85 adding reference refs/heads/b3 |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
86 |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
87 $ cd ../gitrepo |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
88 $ git cat-file commit b1 |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
89 tree 1b773a2eb70f29397356f8069c285394835ff85a |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
90 parent 202f271eb3dcb7b767ce2af6cdad4114df62ff3f |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
91 author test <none@none> 1167609613 +0000 |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
92 committer test <none@none> 1167609613 +0000 |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
93 |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
94 |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
95 |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
96 --HG-- |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
97 extra : aaaaaaa : dataaaa |
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
98 extra : zzzzzzz : datazzz |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
99 |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
100 $ git cat-file commit b2 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
101 tree 34ad62c6d6ad9464bfe62db5b3d2fa16aaa9fa9e |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
102 parent 66fe706f6f4f08f0020323e6c49548d41bb00ff6 |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
103 author test <none@none> 1167609614 +0000 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
104 committer test <none@none> 1167609614 +0000 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
105 HG:rename c:c2 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
106 HG:rename d:d2 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
107 HG:extra bbbbbbb:databbb |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
108 HG:extra yyyyyyy:datayyy |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
109 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
110 |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
111 |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
112 $ git cat-file commit b3 |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
113 tree e63df52695f9b06e54b37e7ef60d0c43994de620 |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
114 parent 6a66c937dea689a8bb2aa053bd91667fe4a7bfe8 |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
115 author test <none@none> 1167609616 +0000 |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
116 committer test <none@none> 1167609616 +0000 |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
117 HG:rename c2%20%3D%3E%20c3:c3%20%3D%3E%20c4 |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
118 |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
119 test filename with arrow 2 |
763
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
120 $ cd ../gitrepo |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
121 $ git checkout b1 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
122 Switched to branch 'b1' |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
123 $ commit_sha=$(git rev-parse HEAD) |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
124 $ tree_sha=$(git rev-parse HEAD^{tree}) |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
125 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
126 There's no way to create a Git repo with extra metadata via the CLI. Dulwich |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
127 lets you do that, though. |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
128 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
129 >>> from dulwich.objects import Commit |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
130 >>> from dulwich.porcelain import open_repo |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
131 >>> repo = open_repo('.') |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
132 >>> c = Commit() |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
133 >>> c.author = 'test <test@example.org>' |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
134 >>> c.author_time = 0 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
135 >>> c.author_timezone = 0 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
136 >>> c.committer = c.author |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
137 >>> c.commit_time = 0 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
138 >>> c.commit_timezone = 0 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
139 >>> c.parents = ['$commit_sha'] |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
140 >>> c.tree = '$tree_sha' |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
141 >>> c.message = 'extra commit\n' |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
142 >>> c.extra.extend([('zzz:zzz', 'data:zzz'), ('aaa:aaa', 'data:aaa'), |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
143 ... ('HG:extra', 'hgaaa:dataaaa'), |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
144 ... ('HG:extra', 'hgzzz:datazzz')]) |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
145 >>> repo.object_store.add_object(c) |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
146 >>> repo.refs.set_if_equals('refs/heads/master', None, c.id) |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
147 True |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
148 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
149 $ git cat-file commit master |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
150 tree 1b773a2eb70f29397356f8069c285394835ff85a |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
151 parent 66fe706f6f4f08f0020323e6c49548d41bb00ff6 |
763
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
152 author test <test@example.org> 0 +0000 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
153 committer test <test@example.org> 0 +0000 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
154 zzz:zzz data:zzz |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
155 aaa:aaa data:aaa |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
156 HG:extra hgaaa:dataaaa |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
157 HG:extra hgzzz:datazzz |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
158 |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
159 extra commit |
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
160 |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
161 $ cd .. |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
162 $ hg clone -q gitrepo hgrepo2 |
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
163 $ cd hgrepo2 |
761
c68edf83bfbc
test-extra.t: use a templater format that's portable back to hg 2.8.2
Augie Fackler <raf@durin42.com>
parents:
759
diff
changeset
|
164 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
165 @ 7 e003ec989aaae23b3eb30d4423419fb4dc346089 test filename with arrow 2 |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
166 | branch=default |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
167 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
168 o 6 a2e276bd9458cb7dc309230ec8064d544e4f0c68 test filename with arrow |
765
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
169 | branch=default |
389676318d4c
test-extra: add some more rename tests
Siddharth Agarwal <sid0@fb.com>
parents:
764
diff
changeset
|
170 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
171 o 5 524e82e66b589f8b56bdd0679ad457a162ba16cd |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
172 | bbbbbbb=databbb branch=default yyyyyyy=datayyy |
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
173 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
174 | o 4 741081daa02c9023c8c5117771f59ef2308a575c extra commit |
764
70aba6b2fe7b
git_handler: export hg extra metadata as git extra metadata (issue121)
Siddharth Agarwal <sid0@fb.com>
parents:
763
diff
changeset
|
175 |/ GIT0-zzz%3Azzz=data%3Azzz GIT1-aaa%3Aaaa=data%3Aaaa branch=default hgaaa=dataaaa hgzzz=datazzz |
763
13a3513f8e67
git_handler: support extracting metadata from Git extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
761
diff
changeset
|
176 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
177 o 3 73fa4063c4b0f386fd6b59da693617dedb340b02 |
761
c68edf83bfbc
test-extra.t: use a templater format that's portable back to hg 2.8.2
Augie Fackler <raf@durin42.com>
parents:
759
diff
changeset
|
178 | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz |
759
eb9ebc7ed061
git_handler: store hg extra data in git deterministically by sorting it
Siddharth Agarwal <sid0@fb.com>
parents:
757
diff
changeset
|
179 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
180 o 2 98337758089f6efd29f48bcaf00d14184ed0771b b |
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
181 | branch=default rebase_source=4c7da7adf18b785726a7421ef0d585bb5762990d |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
182 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
183 o 1 92a46c8588a7cd504c369259ef631b2c14ef4e91 c |
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
184 | branch=default hg-git-rename-source=git |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
185 | |
844
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
186 o 0 aa9eb6424386df2b0638fe6f480c3767fdd0e6fd a |
fffe8883960b
git_handler: mark source for rename info as Git or Mercurial
Siddharth Agarwal <sid0@fb.com>
parents:
765
diff
changeset
|
187 branch=default hg-git-rename-source=git |
757
8d55f839f13a
tests: add test to ensure hg rename and extra metadata roundtrips
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
188 |