comparison tests/test-extra.t @ 765:70aba6b2fe7b

git_handler: export hg extra metadata as git extra metadata (issue121) We export new git commits with hg extra metadata stored as git extra fields. We also ensure that parsing old commits doesn't break.
author Siddharth Agarwal <sid0@fb.com>
date Sun, 31 Aug 2014 14:01:07 -0700
parents 13a3513f8e67
children 389676318d4c
comparison
equal deleted inserted replaced
764:13a3513f8e67 765:70aba6b2fe7b
26 saved backup bundle to $TESTTMP/*.hg (glob) 26 saved backup bundle to $TESTTMP/*.hg (glob)
27 $ hg up 2 27 $ hg up 2
28 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 28 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
29 29
30 Add a commit with multiple extra fields 30 Add a commit with multiple extra fields
31 $ hg bookmark b1
31 $ touch d 32 $ touch d
32 $ hg add d 33 $ hg add d
33 $ fn_hg_commitextra --field zzzzzzz=datazzz --field aaaaaaa=dataaaa 34 $ fn_hg_commitextra --field zzzzzzz=datazzz --field aaaaaaa=dataaaa
34 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 35 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n"
35 @ 3 f15e01c73845392d86a5ed10fb0753d09bca13d3 36 @ 3 f15e01c73845392d86a5ed10fb0753d09bca13d3
42 | branch=default 43 | branch=default
43 | 44 |
44 o 0 ab83abcbf5717f738191aa2d42f52a7100ce06a8 a 45 o 0 ab83abcbf5717f738191aa2d42f52a7100ce06a8 a
45 branch=default 46 branch=default
46 47
47 48 Make sure legacy extra (in commit message, after '--HG--') doesn't break
48 $ hg bookmark b1 49 $ hg push -r b1 --config git.debugextrainmessage=1
49 $ hg push -r b1
50 pushing to $TESTTMP/gitrepo 50 pushing to $TESTTMP/gitrepo
51 searching for changes 51 searching for changes
52 adding objects 52 adding objects
53 added 3 commits with 3 trees and 0 blobs 53 added 3 commits with 3 trees and 0 blobs
54 adding reference refs/heads/b1 54 adding reference refs/heads/b1
55
56 $ hg bookmark b2
57 $ hg mv c c2
58 $ hg mv d d2
59 $ fn_hg_commitextra --field yyyyyyy=datayyy --field bbbbbbb=databbb
60 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" -l 1
61 @ 4 71a7f7cc00a30dde4a0d5da37f119e51ded1820a
62 | bbbbbbb=databbb branch=default yyyyyyy=datayyy
63 |
64 $ hg push -r b2
65 pushing to $TESTTMP/gitrepo
66 searching for changes
67 adding objects
68 added 1 commits with 1 trees and 0 blobs
69 adding reference refs/heads/b2
55 70
56 $ cd ../gitrepo 71 $ cd ../gitrepo
57 $ git cat-file commit b1 72 $ git cat-file commit b1
58 tree 1b773a2eb70f29397356f8069c285394835ff85a 73 tree 1b773a2eb70f29397356f8069c285394835ff85a
59 parent 99316cce06b9b5aa9e5a3f4df124939583791dda 74 parent 99316cce06b9b5aa9e5a3f4df124939583791dda
63 78
64 79
65 --HG-- 80 --HG--
66 extra : aaaaaaa : dataaaa 81 extra : aaaaaaa : dataaaa
67 extra : zzzzzzz : datazzz 82 extra : zzzzzzz : datazzz
83
84 $ git cat-file commit b2
85 tree 34ad62c6d6ad9464bfe62db5b3d2fa16aaa9fa9e
86 parent ca11864bb2a84c3996929d42cf38bae3d0f7aae0
87 author test <none@none> 1167609614 +0000
88 committer test <none@none> 1167609614 +0000
89 HG:rename c:c2
90 HG:rename d:d2
91 HG:extra bbbbbbb:databbb
92 HG:extra yyyyyyy:datayyy
93
94
68 95
69 $ cd ../gitrepo 96 $ cd ../gitrepo
70 $ git checkout b1 97 $ git checkout b1
71 Switched to branch 'b1' 98 Switched to branch 'b1'
72 $ commit_sha=$(git rev-parse HEAD) 99 $ commit_sha=$(git rev-parse HEAD)
109 136
110 $ cd .. 137 $ cd ..
111 $ hg clone -q gitrepo hgrepo2 138 $ hg clone -q gitrepo hgrepo2
112 $ cd hgrepo2 139 $ cd hgrepo2
113 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n" 140 $ hg log --graph --template "{rev} {node} {desc|firstline}\n{join(extras, ' ')}\n\n"
114 @ 4 f5fddc070b0648a5cddb98b43bbd527e98f4b4d2 extra commit 141 @ 5 71a7f7cc00a30dde4a0d5da37f119e51ded1820a
115 | GIT0-zzz%3Azzz=data%3Azzz GIT1-aaa%3Aaaa=data%3Aaaa branch=default hgaaa=dataaaa hgzzz=datazzz 142 | bbbbbbb=databbb branch=default yyyyyyy=datayyy
143 |
144 | o 4 f5fddc070b0648a5cddb98b43bbd527e98f4b4d2 extra commit
145 |/ GIT0-zzz%3Azzz=data%3Azzz GIT1-aaa%3Aaaa=data%3Aaaa branch=default hgaaa=dataaaa hgzzz=datazzz
116 | 146 |
117 o 3 f15e01c73845392d86a5ed10fb0753d09bca13d3 147 o 3 f15e01c73845392d86a5ed10fb0753d09bca13d3
118 | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz 148 | aaaaaaa=dataaaa branch=default zzzzzzz=datazzz
119 | 149 |
120 o 2 dcec77c6ae3cff594c4435e5820bec4ec9e57440 b 150 o 2 dcec77c6ae3cff594c4435e5820bec4ec9e57440 b