Mercurial > hg
view tests/test-permissions.t @ 46529:33350debb480 stable
patch: make diff --git to differentiate b/w file is empty or doesn't exists
Before this patch, as we didn't differentiate the two cases of a file in a context:
1. File doesn't exists
2. File is empty
which causes the blob id to be same for both the cases.
Now we use `nullhex` for a file which doesn't exists in a context (aligning it with
the git diff format)
Changes in test file reflect the fixed behavior.
Differential Revision: https://phab.mercurial-scm.org/D10001
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Tue, 16 Feb 2021 15:44:51 +0530 |
parents | b6673e9bdcf6 |
children | 93eb6c8035a9 |
line wrap: on
line source
#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 ..