Show More
@@ -47,6 +47,12 b" def censor(ui, repo, path, rev='', tombs" | |||
|
47 | 47 | if not rev: |
|
48 | 48 | raise util.Abort(_('must specify revision to censor')) |
|
49 | 49 | |
|
50 | wctx = repo[None] | |
|
51 | ||
|
52 | m = scmutil.match(wctx, (path,)) | |
|
53 | if m.anypats() or len(m.files()) != 1: | |
|
54 | raise util.Abort(_('can only specify an explicit filename')) | |
|
55 | path = m.files()[0] | |
|
50 | 56 | flog = repo.file(path) |
|
51 | 57 | if not len(flog): |
|
52 | 58 | raise util.Abort(_('cannot censor file with no history')) |
@@ -70,7 +76,6 b" def censor(ui, repo, path, rev='', tombs" | |||
|
70 | 76 | raise util.Abort(_('cannot censor file in heads (%s)') % headlist, |
|
71 | 77 | hint=_('clean/delete and commit first')) |
|
72 | 78 | |
|
73 | wctx = repo[None] | |
|
74 | 79 | wp = wctx.parents() |
|
75 | 80 | if ctx.node() in [p.node() for p in wp]: |
|
76 | 81 | raise util.Abort(_('cannot censor working directory'), |
@@ -72,7 +72,10 b' Try to censor revision with too large of' | |||
|
72 | 72 | |
|
73 | 73 | Censor revision with 2 offenses |
|
74 | 74 | |
|
75 | $ hg censor -r $C2 -t "remove password" target | |
|
75 | (this also tests file pattern matching: path relative to cwd case) | |
|
76 | ||
|
77 | $ mkdir -p foo/bar/baz | |
|
78 | $ hg --cwd foo/bar/baz censor -r $C2 -t "remove password" ../../../target | |
|
76 | 79 | $ hg cat -r $H1 target |
|
77 | 80 | Tainted file is now sanitized |
|
78 | 81 | $ hg cat -r $H2 target |
@@ -89,7 +92,9 b' Censor revision with 2 offenses' | |||
|
89 | 92 | |
|
90 | 93 | Censor revision with 1 offense |
|
91 | 94 | |
|
92 | $ hg censor -r $C1 target | |
|
95 | (this also tests file pattern matching: with 'path:' scheme) | |
|
96 | ||
|
97 | $ hg --cwd foo/bar/baz censor -r $C1 path:target | |
|
93 | 98 | $ hg cat -r $H1 target |
|
94 | 99 | Tainted file is now sanitized |
|
95 | 100 | $ hg cat -r $H2 target |
General Comments 0
You need to be logged in to leave comments.
Login now