Show More
@@ -50,7 +50,7 b' the second head H2, and so on' | |||||
50 |
|
50 | |||
51 | Verify target contents before censorship at each revision |
|
51 | Verify target contents before censorship at each revision | |
52 |
|
52 | |||
53 |
$ hg cat -r |
|
53 | $ hg cat -r $H1 target | |
54 | Tainted file is now sanitized |
|
54 | Tainted file is now sanitized | |
55 | $ hg cat -r $H2 target |
|
55 | $ hg cat -r $H2 target | |
56 | Tainted file now super sanitized |
|
56 | Tainted file now super sanitized | |
@@ -73,7 +73,7 b' Try to censor revision with too large of' | |||||
73 | Censor revision with 2 offenses |
|
73 | Censor revision with 2 offenses | |
74 |
|
74 | |||
75 | $ hg censor -r $C2 -t "remove password" target |
|
75 | $ hg censor -r $C2 -t "remove password" target | |
76 |
$ hg cat -r |
|
76 | $ hg cat -r $H1 target | |
77 | Tainted file is now sanitized |
|
77 | Tainted file is now sanitized | |
78 | $ hg cat -r $H2 target |
|
78 | $ hg cat -r $H2 target | |
79 | Tainted file now super sanitized |
|
79 | Tainted file now super sanitized | |
@@ -90,7 +90,7 b' Censor revision with 2 offenses' | |||||
90 | Censor revision with 1 offense |
|
90 | Censor revision with 1 offense | |
91 |
|
91 | |||
92 | $ hg censor -r $C1 target |
|
92 | $ hg censor -r $C1 target | |
93 |
$ hg cat -r |
|
93 | $ hg cat -r $H1 target | |
94 | Tainted file is now sanitized |
|
94 | Tainted file is now sanitized | |
95 | $ hg cat -r $H2 target |
|
95 | $ hg cat -r $H2 target | |
96 | Tainted file now super sanitized |
|
96 | Tainted file now super sanitized | |
@@ -136,7 +136,7 b' Can only checkout target at uncensored r' | |||||
136 |
|
136 | |||
137 | Uncensored file can be viewed at any revision |
|
137 | Uncensored file can be viewed at any revision | |
138 |
|
138 | |||
139 |
$ hg cat -r |
|
139 | $ hg cat -r $H1 bystander | |
140 | Normal file v2 |
|
140 | Normal file v2 | |
141 | $ hg cat -r $C2 bystander |
|
141 | $ hg cat -r $C2 bystander | |
142 | Normal file v2 |
|
142 | Normal file v2 | |
@@ -147,7 +147,7 b' Uncensored file can be viewed at any rev' | |||||
147 |
|
147 | |||
148 | Can update to children of censored revision |
|
148 | Can update to children of censored revision | |
149 |
|
149 | |||
150 |
$ hg update -r |
|
150 | $ hg update -r $H1 | |
151 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
151 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
152 | $ cat target |
|
152 | $ cat target | |
153 | Tainted file is now sanitized |
|
153 | Tainted file is now sanitized | |
@@ -313,3 +313,168 b' Can censor after revlog has expanded to ' | |||||
313 | $ hg cat -r $C5 target |
|
313 | $ hg cat -r $C5 target | |
314 | $ hg cat -r $H2 target |
|
314 | $ hg cat -r $H2 target | |
315 | fresh start |
|
315 | fresh start | |
|
316 | ||||
|
317 | Repo with censored nodes can be cloned and cloned nodes are censored | |||
|
318 | ||||
|
319 | $ cd .. | |||
|
320 | $ hg clone r rclone | |||
|
321 | updating to branch default | |||
|
322 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
323 | $ cd rclone | |||
|
324 | $ hg cat -r $H1 target | |||
|
325 | advanced head H1 | |||
|
326 | $ hg cat -r $H2~5 target | |||
|
327 | Tainted file now super sanitized | |||
|
328 | $ hg cat -r $C2 target | |||
|
329 | $ hg cat -r $C1 target | |||
|
330 | $ hg cat -r 0 target | |||
|
331 | Initially untainted file | |||
|
332 | $ hg verify | |||
|
333 | checking changesets | |||
|
334 | checking manifests | |||
|
335 | crosschecking files in changesets and manifests | |||
|
336 | checking files | |||
|
337 | 2 files, 12 changesets, 13 total revisions | |||
|
338 | ||||
|
339 | Repo cloned before tainted content introduced can pull censored nodes | |||
|
340 | ||||
|
341 | $ cd ../rpull | |||
|
342 | $ hg cat -r tip target | |||
|
343 | Initially untainted file | |||
|
344 | $ hg verify | |||
|
345 | checking changesets | |||
|
346 | checking manifests | |||
|
347 | crosschecking files in changesets and manifests | |||
|
348 | checking files | |||
|
349 | 2 files, 1 changesets, 2 total revisions | |||
|
350 | $ hg pull -r $H1 -r $H2 | |||
|
351 | pulling from $TESTTMP/r (glob) | |||
|
352 | searching for changes | |||
|
353 | adding changesets | |||
|
354 | adding manifests | |||
|
355 | adding file changes | |||
|
356 | added 11 changesets with 11 changes to 2 files (+1 heads) | |||
|
357 | (run 'hg heads' to see heads, 'hg merge' to merge) | |||
|
358 | $ hg update 4 | |||
|
359 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
360 | $ cat target | |||
|
361 | Tainted file now super sanitized | |||
|
362 | $ hg cat -r $H1 target | |||
|
363 | advanced head H1 | |||
|
364 | $ hg cat -r $H2~5 target | |||
|
365 | Tainted file now super sanitized | |||
|
366 | $ hg cat -r $C2 target | |||
|
367 | $ hg cat -r $C1 target | |||
|
368 | $ hg cat -r 0 target | |||
|
369 | Initially untainted file | |||
|
370 | $ hg verify | |||
|
371 | checking changesets | |||
|
372 | checking manifests | |||
|
373 | crosschecking files in changesets and manifests | |||
|
374 | checking files | |||
|
375 | 2 files, 12 changesets, 13 total revisions | |||
|
376 | ||||
|
377 | Censored nodes can be pushed if they censor previously unexchanged nodes | |||
|
378 | ||||
|
379 | $ echo 'Passwords: hunter2hunter2' > target | |||
|
380 | $ hg ci -m 're-add password from clone' target | |||
|
381 | created new head | |||
|
382 | $ H3=`hg id --debug -i` | |||
|
383 | $ REV=$H3 | |||
|
384 | $ echo 'Re-sanitized; nothing to see here' > target | |||
|
385 | $ hg ci -m 're-sanitized' target | |||
|
386 | $ H2=`hg id --debug -i` | |||
|
387 | $ CLEANREV=$H2 | |||
|
388 | $ hg cat -r $REV target | |||
|
389 | Passwords: hunter2hunter2 | |||
|
390 | $ hg censor -r $REV target | |||
|
391 | $ hg cat -r $REV target | |||
|
392 | $ hg cat -r $CLEANREV target | |||
|
393 | Re-sanitized; nothing to see here | |||
|
394 | $ hg push -f -r $H2 | |||
|
395 | pushing to $TESTTMP/r (glob) | |||
|
396 | searching for changes | |||
|
397 | adding changesets | |||
|
398 | adding manifests | |||
|
399 | adding file changes | |||
|
400 | added 2 changesets with 2 changes to 1 files (+1 heads) | |||
|
401 | ||||
|
402 | $ cd ../r | |||
|
403 | $ hg cat -r $REV target | |||
|
404 | $ hg cat -r $CLEANREV target | |||
|
405 | Re-sanitized; nothing to see here | |||
|
406 | $ hg update $CLEANREV | |||
|
407 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
408 | $ cat target | |||
|
409 | Re-sanitized; nothing to see here | |||
|
410 | ||||
|
411 | Censored nodes can be bundled up and unbundled in another repo | |||
|
412 | ||||
|
413 | $ hg bundle --base 0 ../pwbundle | |||
|
414 | 13 changesets found | |||
|
415 | $ cd ../rclone | |||
|
416 | $ hg unbundle ../pwbundle | |||
|
417 | adding changesets | |||
|
418 | adding manifests | |||
|
419 | adding file changes | |||
|
420 | added 2 changesets with 2 changes to 2 files (+1 heads) | |||
|
421 | (run 'hg heads .' to see heads, 'hg merge' to merge) | |||
|
422 | $ hg cat -r $REV target | |||
|
423 | $ hg cat -r $CLEANREV target | |||
|
424 | Re-sanitized; nothing to see here | |||
|
425 | $ hg update $CLEANREV | |||
|
426 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
427 | $ cat target | |||
|
428 | Re-sanitized; nothing to see here | |||
|
429 | $ hg verify | |||
|
430 | checking changesets | |||
|
431 | checking manifests | |||
|
432 | crosschecking files in changesets and manifests | |||
|
433 | checking files | |||
|
434 | 2 files, 14 changesets, 15 total revisions | |||
|
435 | ||||
|
436 | Censored nodes can be imported on top of censored nodes, consecutively | |||
|
437 | ||||
|
438 | $ hg init ../rimport | |||
|
439 | $ hg bundle --base 1 ../rimport/splitbundle | |||
|
440 | 12 changesets found | |||
|
441 | $ cd ../rimport | |||
|
442 | $ hg pull -r $H1 -r $H2 ../r | |||
|
443 | pulling from ../r | |||
|
444 | adding changesets | |||
|
445 | adding manifests | |||
|
446 | adding file changes | |||
|
447 | added 8 changesets with 10 changes to 2 files (+1 heads) | |||
|
448 | (run 'hg heads' to see heads, 'hg merge' to merge) | |||
|
449 | $ hg unbundle splitbundle | |||
|
450 | adding changesets | |||
|
451 | adding manifests | |||
|
452 | adding file changes | |||
|
453 | added 6 changesets with 5 changes to 2 files (+1 heads) | |||
|
454 | (run 'hg heads .' to see heads, 'hg merge' to merge) | |||
|
455 | $ hg update $H2 | |||
|
456 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
|
457 | $ cat target | |||
|
458 | Re-sanitized; nothing to see here | |||
|
459 | $ hg verify | |||
|
460 | checking changesets | |||
|
461 | checking manifests | |||
|
462 | crosschecking files in changesets and manifests | |||
|
463 | checking files | |||
|
464 | 2 files, 14 changesets, 15 total revisions | |||
|
465 | $ cd ../r | |||
|
466 | ||||
|
467 | Can import bundle where first revision of a file is censored | |||
|
468 | ||||
|
469 | $ hg init ../rinit | |||
|
470 | $ hg censor -r 0 target | |||
|
471 | $ hg bundle -r 0 --base null ../rinit/initbundle | |||
|
472 | 1 changesets found | |||
|
473 | $ cd ../rinit | |||
|
474 | $ hg unbundle initbundle | |||
|
475 | adding changesets | |||
|
476 | adding manifests | |||
|
477 | adding file changes | |||
|
478 | added 1 changesets with 2 changes to 2 files | |||
|
479 | (run 'hg update' to get a working copy) | |||
|
480 | $ hg cat -r 0 target |
General Comments 0
You need to be logged in to leave comments.
Login now