comparison tests/test-censor.t @ 51270:ceeb8fa23cc8

censor: accept multiple revision in a single call This is useful when dealing with corruption, as all the corrupted revision can be dealt with in one go.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 01 Dec 2023 22:56:08 +0100
parents db121ddd171e
children 508fd40dc86a
comparison
equal deleted inserted replaced
51269:db121ddd171e 51270:ceeb8fa23cc8
78 78
79 $ mkdir -p foo/bar/baz 79 $ mkdir -p foo/bar/baz
80 $ hg --config extensions.censor= --cwd foo/bar/baz censor -r $C2 -t "remove password" ../../../target 80 $ hg --config extensions.censor= --cwd foo/bar/baz censor -r $C2 -t "remove password" ../../../target
81 checking for the censored content in 2 heads 81 checking for the censored content in 2 heads
82 checking for the censored content in the working directory 82 checking for the censored content in the working directory
83 censoring 1 file revision 83 censoring 1 file revisions
84 $ hg cat -r $H1 target | head -n 10 84 $ hg cat -r $H1 target | head -n 10
85 Tainted file is now sanitized 85 Tainted file is now sanitized
86 $ hg cat -r $H2 target | head -n 10 86 $ hg cat -r $H2 target | head -n 10
87 Tainted file now super sanitized 87 Tainted file now super sanitized
88 $ hg cat -r $C2 target | head -n 10 88 $ hg cat -r $C2 target | head -n 10
99 (this also tests file pattern matching: with 'path:' scheme) 99 (this also tests file pattern matching: with 'path:' scheme)
100 100
101 $ hg --config extensions.censor= --cwd foo/bar/baz censor -r $C1 path:target 101 $ hg --config extensions.censor= --cwd foo/bar/baz censor -r $C1 path:target
102 checking for the censored content in 2 heads 102 checking for the censored content in 2 heads
103 checking for the censored content in the working directory 103 checking for the censored content in the working directory
104 censoring 1 file revision 104 censoring 1 file revisions
105 $ hg cat -r $H1 target | head -n 10 105 $ hg cat -r $H1 target | head -n 10
106 Tainted file is now sanitized 106 Tainted file is now sanitized
107 $ hg cat -r $H2 target | head -n 10 107 $ hg cat -r $H2 target | head -n 10
108 Tainted file now super sanitized 108 Tainted file now super sanitized
109 $ hg cat -r $C2 target | head -n 10 109 $ hg cat -r $C2 target | head -n 10
241 $ hg ci -m 'advance head H1' target 241 $ hg ci -m 'advance head H1' target
242 $ H1=`hg id --debug -i` 242 $ H1=`hg id --debug -i`
243 $ hg --config extensions.censor= censor -r $C3 target 243 $ hg --config extensions.censor= censor -r $C3 target
244 checking for the censored content in 2 heads 244 checking for the censored content in 2 heads
245 checking for the censored content in the working directory 245 checking for the censored content in the working directory
246 censoring 1 file revision 246 censoring 1 file revisions
247 $ hg update -r $H2 247 $ hg update -r $H2
248 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 248 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
249 $ hg merge -r $C3 249 $ hg merge -r $C3
250 merging target 250 merging target
251 0 files updated, 1 files merged, 0 files removed, 0 files unresolved 251 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
292 $ hg ci -m 'delete target so it may be censored' 292 $ hg ci -m 'delete target so it may be censored'
293 $ H2=`hg id --debug -i` 293 $ H2=`hg id --debug -i`
294 $ hg --config extensions.censor= censor -r $C4 target 294 $ hg --config extensions.censor= censor -r $C4 target
295 checking for the censored content in 2 heads 295 checking for the censored content in 2 heads
296 checking for the censored content in the working directory 296 checking for the censored content in the working directory
297 censoring 1 file revision 297 censoring 1 file revisions
298 $ hg cat -r $C4 target | head -n 10 298 $ hg cat -r $C4 target | head -n 10
299 $ hg cat -r "$H2^^" target | head -n 10 299 $ hg cat -r "$H2^^" target | head -n 10
300 Tainted file now super sanitized 300 Tainted file now super sanitized
301 $ echo 'fresh start' > target 301 $ echo 'fresh start' > target
302 $ hg add target 302 $ hg add target
327 rev-count data-size inl type target 327 rev-count data-size inl type target
328 10 ?????? no file target (glob) 328 10 ?????? no file target (glob)
329 $ hg --config extensions.censor= censor -r $C5 target 329 $ hg --config extensions.censor= censor -r $C5 target
330 checking for the censored content in 2 heads 330 checking for the censored content in 2 heads
331 checking for the censored content in the working directory 331 checking for the censored content in the working directory
332 censoring 1 file revision 332 censoring 1 file revisions
333 333
334 The important part is for the censor operation to not crash and the repository 334 The important part is for the censor operation to not crash and the repository
335 to not be corrupted. Right now this involve keeping the revlog split. 335 to not be corrupted. Right now this involve keeping the revlog split.
336 336
337 $ hg debugrevlogstats | grep target 337 $ hg debugrevlogstats | grep target
408 $ hg cat -r $REV target | head -n 10 408 $ hg cat -r $REV target | head -n 10
409 Passwords: hunter2hunter2 409 Passwords: hunter2hunter2
410 $ hg --config extensions.censor= censor -r $REV target 410 $ hg --config extensions.censor= censor -r $REV target
411 checking for the censored content in 3 heads 411 checking for the censored content in 3 heads
412 checking for the censored content in the working directory 412 checking for the censored content in the working directory
413 censoring 1 file revision 413 censoring 1 file revisions
414 $ hg cat -r $REV target | head -n 10 414 $ hg cat -r $REV target | head -n 10
415 $ hg cat -r $CLEANREV target | head -n 10 415 $ hg cat -r $CLEANREV target | head -n 10
416 Re-sanitized; nothing to see here 416 Re-sanitized; nothing to see here
417 $ hg push -f -r $H2 417 $ hg push -f -r $H2
418 pushing to $TESTTMP/r 418 pushing to $TESTTMP/r
511 511
512 $ hg init ../rinit 512 $ hg init ../rinit
513 $ hg --config extensions.censor= censor -r 0 target 513 $ hg --config extensions.censor= censor -r 0 target
514 checking for the censored content in 3 heads 514 checking for the censored content in 3 heads
515 checking for the censored content in the working directory 515 checking for the censored content in the working directory
516 censoring 1 file revision 516 censoring 1 file revisions
517 $ hg bundle -r 0 --base null ../rinit/initbundle 517 $ hg bundle -r 0 --base null ../rinit/initbundle
518 1 changesets found 518 1 changesets found
519 $ cd ../rinit 519 $ cd ../rinit
520 $ hg unbundle initbundle 520 $ hg unbundle initbundle
521 adding changesets 521 adding changesets
528 528
529 Can skip the head checking steps 529 Can skip the head checking steps
530 530
531 $ hg --config extensions.censor= censor -r 0 --no-check-heads target 531 $ hg --config extensions.censor= censor -r 0 --no-check-heads target
532 checking for the censored content in the working directory 532 checking for the censored content in the working directory
533 censoring 1 file revision 533 censoring 1 file revisions
534
535 Can censor multiple revision in one go.
536
537 $ cd ../r
538 $ hg --config extensions.censor= censor -r 0+1 target
539 checking for the censored content in 3 heads
540 checking for the censored content in the working directory
541 censoring 2 file revisions
542
543
534 544
535 #if revlogv2 545 #if revlogv2
536 546
537 Testing feature that does not work in revlog v1 547 Testing feature that does not work in revlog v1
538 =============================================== 548 ===============================================
570 $ hg cat -r $B1 target | wc -l 580 $ hg cat -r $B1 target | wc -l
571 *50002 (re) 581 *50002 (re)
572 $ hg --config extensions.censor= censor -r $B1 target 582 $ hg --config extensions.censor= censor -r $B1 target
573 checking for the censored content in 1 heads 583 checking for the censored content in 1 heads
574 checking for the censored content in the working directory 584 checking for the censored content in the working directory
575 censoring 1 file revision 585 censoring 1 file revisions
576 $ hg cat -r $B1 target | wc -l 586 $ hg cat -r $B1 target | wc -l
577 *0 (re) 587 *0 (re)
578 588
579 Check the children is fine 589 Check the children is fine
580 590