Show More
@@ -2033,7 +2033,7 def handlebookmark(op, inpart): | |||
|
2033 | 2033 | for book, node in changes: |
|
2034 | 2034 | hookargs = tr.hookargs.copy() |
|
2035 | 2035 | hookargs['pushkeycompat'] = '1' |
|
2036 | hookargs['namespace'] = 'bookmark' | |
|
2036 | hookargs['namespace'] = 'bookmarks' | |
|
2037 | 2037 | hookargs['key'] = book |
|
2038 | 2038 | hookargs['old'] = nodemod.hex(bookstore.get(book, '')) |
|
2039 | 2039 | hookargs['new'] = nodemod.hex(node if node is not None else '') |
@@ -1173,3 +1173,72 Using http | |||
|
1173 | 1173 | |
|
1174 | 1174 | $ hg -R ../issue4455-dest/ bookmarks |
|
1175 | 1175 | no bookmarks set |
|
1176 | ||
|
1177 | $ cd .. | |
|
1178 | ||
|
1179 | Test that pre-pushkey compat for bookmark works as expected (issue5777) | |
|
1180 | ||
|
1181 | $ cat << EOF >> $HGRCPATH | |
|
1182 | > [ui] | |
|
1183 | > ssh="$PYTHON" "$TESTDIR/dummyssh" | |
|
1184 | > [server] | |
|
1185 | > bookmarks-pushkey-compat = yes | |
|
1186 | > EOF | |
|
1187 | ||
|
1188 | $ hg init server | |
|
1189 | $ echo foo > server/a | |
|
1190 | $ hg -R server book foo | |
|
1191 | $ hg -R server commit -Am a | |
|
1192 | adding a | |
|
1193 | $ hg clone ssh://user@dummy/server client | |
|
1194 | requesting all changes | |
|
1195 | adding changesets | |
|
1196 | adding manifests | |
|
1197 | adding file changes | |
|
1198 | added 1 changesets with 1 changes to 1 files | |
|
1199 | new changesets 79513d0d7716 | |
|
1200 | updating to branch default | |
|
1201 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
1202 | ||
|
1203 | Forbid bookmark move on the server | |
|
1204 | ||
|
1205 | $ cat << EOF >> server/.hg/hgrc | |
|
1206 | > [hooks] | |
|
1207 | > prepushkey.no-bm-move= echo \$HG_NAMESPACE | grep -v bookmarks | |
|
1208 | > EOF | |
|
1209 | ||
|
1210 | pushing changeset is okay | |
|
1211 | ||
|
1212 | $ echo bar >> client/a | |
|
1213 | $ hg -R client commit -m b | |
|
1214 | $ hg -R client push | |
|
1215 | pushing to ssh://user@dummy/server | |
|
1216 | searching for changes | |
|
1217 | remote: adding changesets | |
|
1218 | remote: adding manifests | |
|
1219 | remote: adding file changes | |
|
1220 | remote: added 1 changesets with 1 changes to 1 files | |
|
1221 | ||
|
1222 | attempt to move the bookmark is rejected | |
|
1223 | ||
|
1224 | $ hg -R client book foo -r . | |
|
1225 | moving bookmark 'foo' forward from 79513d0d7716 | |
|
1226 | ||
|
1227 | #if b2-pushkey | |
|
1228 | $ hg -R client push | |
|
1229 | pushing to ssh://user@dummy/server | |
|
1230 | searching for changes | |
|
1231 | no changes found | |
|
1232 | remote: pushkey-abort: prepushkey.no-bm-move hook exited with status 1 | |
|
1233 | abort: updating bookmark foo failed! | |
|
1234 | [255] | |
|
1235 | #endif | |
|
1236 | #if b2-binary | |
|
1237 | $ hg -R client push | |
|
1238 | pushing to ssh://user@dummy/server | |
|
1239 | searching for changes | |
|
1240 | no changes found | |
|
1241 | remote: prepushkey.no-bm-move hook exited with status 1 | |
|
1242 | abort: push failed on remote | |
|
1243 | [255] | |
|
1244 | #endif |
@@ -253,7 +253,7 push | |||
|
253 | 253 | remote: added 1 changesets with 0 changes to 0 files (-1 heads) |
|
254 | 254 | remote: 1 new obsolescence markers |
|
255 | 255 | remote: pre-close-tip:eea13746799a public book_eea1 |
|
256 | remote: pushkey: lock state after "bookmark" | |
|
256 | remote: pushkey: lock state after "bookmarks" | |
|
257 | 257 | remote: lock: free |
|
258 | 258 | remote: wlock: free |
|
259 | 259 | remote: postclose-tip:eea13746799a public book_eea1 |
@@ -339,7 +339,7 push over ssh | |||
|
339 | 339 | remote: added 1 changesets with 1 changes to 1 files |
|
340 | 340 | remote: 1 new obsolescence markers |
|
341 | 341 | remote: pre-close-tip:5fddd98957c8 draft book_5fdd |
|
342 | remote: pushkey: lock state after "bookmark" | |
|
342 | remote: pushkey: lock state after "bookmarks" | |
|
343 | 343 | remote: lock: free |
|
344 | 344 | remote: wlock: free |
|
345 | 345 | remote: postclose-tip:5fddd98957c8 draft book_5fdd |
@@ -390,7 +390,7 push over http | |||
|
390 | 390 | remote: added 1 changesets with 1 changes to 1 files |
|
391 | 391 | remote: 1 new obsolescence markers |
|
392 | 392 | remote: pre-close-tip:32af7686d403 public book_32af |
|
393 | remote: pushkey: lock state after "bookmark" | |
|
393 | remote: pushkey: lock state after "bookmarks" | |
|
394 | 394 | remote: lock: free |
|
395 | 395 | remote: wlock: free |
|
396 | 396 | remote: postclose-tip:32af7686d403 public book_32af |
@@ -244,7 +244,7 pushkey hook | |||
|
244 | 244 | no changes found |
|
245 | 245 | pretxnopen hook: HG_HOOKNAME=pretxnopen HG_HOOKTYPE=pretxnopen HG_TXNID=TXN:$ID$ HG_TXNNAME=push |
|
246 | 246 | pretxnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_HOOKNAME=pretxnclose HG_HOOKTYPE=pretxnclose HG_PENDING=$TESTTMP/a HG_SOURCE=push HG_TXNID=TXN:$ID$ HG_TXNNAME=push HG_URL=file:$TESTTMP/a |
|
247 | pushkey hook: HG_BUNDLE2=1 HG_HOOKNAME=pushkey HG_HOOKTYPE=pushkey HG_KEY=foo HG_NAMESPACE=bookmark HG_NEW=0000000000000000000000000000000000000000 HG_PUSHKEYCOMPAT=1 HG_SOURCE=push HG_TXNID=TXN:$ID$ HG_URL=file:$TESTTMP/a | |
|
247 | pushkey hook: HG_BUNDLE2=1 HG_HOOKNAME=pushkey HG_HOOKTYPE=pushkey HG_KEY=foo HG_NAMESPACE=bookmarks HG_NEW=0000000000000000000000000000000000000000 HG_PUSHKEYCOMPAT=1 HG_SOURCE=push HG_TXNID=TXN:$ID$ HG_URL=file:$TESTTMP/a | |
|
248 | 248 | txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_HOOKNAME=txnclose HG_HOOKTYPE=txnclose HG_SOURCE=push HG_TXNID=TXN:$ID$ HG_TXNNAME=push HG_URL=file:$TESTTMP/a |
|
249 | 249 | exporting bookmark foo |
|
250 | 250 | [1] |
@@ -281,7 +281,7 test that prepushkey can prevent incomin | |||
|
281 | 281 | listkeys hook: HG_HOOKNAME=listkeys HG_HOOKTYPE=listkeys HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'} |
|
282 | 282 | no changes found |
|
283 | 283 | pretxnopen hook: HG_HOOKNAME=pretxnopen HG_HOOKTYPE=pretxnopen HG_TXNID=TXN:$ID$ HG_TXNNAME=push |
|
284 | prepushkey.forbid hook: HG_BUNDLE2=1 HG_HOOKNAME=prepushkey HG_HOOKTYPE=prepushkey HG_KEY=baz HG_NAMESPACE=bookmark HG_NEW=0000000000000000000000000000000000000000 HG_PUSHKEYCOMPAT=1 HG_SOURCE=push HG_TXNID=TXN:$ID$ HG_URL=file:$TESTTMP/a | |
|
284 | prepushkey.forbid hook: HG_BUNDLE2=1 HG_HOOKNAME=prepushkey HG_HOOKTYPE=prepushkey HG_KEY=baz HG_NAMESPACE=bookmarks HG_NEW=0000000000000000000000000000000000000000 HG_PUSHKEYCOMPAT=1 HG_SOURCE=push HG_TXNID=TXN:$ID$ HG_URL=file:$TESTTMP/a | |
|
285 | 285 | abort: prepushkey hook exited with status 1 |
|
286 | 286 | [255] |
|
287 | 287 | $ cd ../a |
General Comments 0
You need to be logged in to leave comments.
Login now