##// END OF EJS Templates
copies: filter out copies when target is not in destination manifest...
copies: filter out copies when target is not in destination manifest When chaining a series of commits that copied a file with a series that removed the destination file, we would still include the copy in the result. Similar to the previous patch, I have checked that `hg status --copies` is not affected by this bug, but I wouldn't be surprised if some commands are. Differential Revision: https://phab.mercurial-scm.org/D5989

File last commit:

r41465:b6673e9b default
r41920:d5edb5d3 default
Show More
test-permissions.t
79 lines | 1.3 KiB | text/troff | Tads3Lexer
#require unix-permissions no-root reporevlogstore
$ hg init t
$ cd t
$ echo foo > a
$ hg add a
$ hg commit -m "1"
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checked 1 changesets with 1 changes to 1 files
$ chmod -r .hg/store/data/a.i
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
abort: Permission denied: '$TESTTMP/t/.hg/store/data/a.i'
[255]
$ chmod +r .hg/store/data/a.i
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checked 1 changesets with 1 changes to 1 files
$ chmod -w .hg/store/data/a.i
$ echo barber > a
$ hg commit -m "2"
trouble committing a!
abort: Permission denied: '$TESTTMP/t/.hg/store/data/a.i'
[255]
$ chmod -w .
$ hg diff --nodates
diff -r 2a18120dc1c9 a
--- a/a
+++ b/a
@@ -1,1 +1,1 @@
-foo
+barber
$ chmod +w .
$ chmod +w .hg/store/data/a.i
$ mkdir dir
$ touch dir/a
$ hg status
M a
? dir/a
$ chmod -rx dir
#if no-fsmonitor
(fsmonitor makes "hg status" avoid accessing to "dir")
$ hg status
dir: Permission denied
M a
#endif
Reenable perm to allow deletion:
$ chmod +rx dir
$ cd ..