Skip to content
Snippets Groups Projects
Commit 7f8d27e1 authored by Katsunori FUJIWARA's avatar Katsunori FUJIWARA
Browse files

largefiles: avoid exec-bit examination on the platform being unaware of it

Changeset 24600c9d7f4e introduced the examination of exec bit of
largefiles in "hg status --rev REV" case, but it doesn't avoid it on
the platform being unaware of exec-bit (e.g. on NTFS of Windows).
parent cc0ff93d
No related branches found
No related tags found
No related merge requests found
......@@ -170,6 +170,7 @@
else:
tocheck = unsure + modified + added + clean
modified, added, clean = [], [], []
checkexec = self.dirstate._checkexec
for lfile in tocheck:
standin = lfutil.standin(lfile)
......@@ -177,7 +178,8 @@
abslfile = self.wjoin(lfile)
if ((ctx1[standin].data().strip() !=
lfutil.hashfile(abslfile)) or
(('x' in ctx1.flags(standin)) !=
(checkexec and
('x' in ctx1.flags(standin)) !=
bool(lfutil.getexecutable(abslfile)))):
modified.append(lfile)
elif listclean:
......
......@@ -577,6 +577,31 @@
$ hg status -A --rev '.^1' large2
M large2
#else
Test that "hg status" against revisions other than parent ignores exec
bit correctly on the platform being unaware of it.
$ hg update -q -C 4
$ cat > exec-bit.patch <<EOF
> # HG changeset patch
> # User test
> # Date 0 0
> # Thu Jan 01 00:00:00 1970 +0000
> # Node ID be1b433a65b12b27b5519d92213e14f7e1769b90
> # Parent 07d6153b5c04313efb75deec9ba577de7faeb727
> chmod +x large2
>
> diff --git a/.hglf/large2 b/.hglf/large2
> old mode 100644
> new mode 100755
> EOF
$ hg import --exact --bypass exec-bit.patch
applying exec-bit.patch
$ hg status -A --rev tip large2
C large2
#endif
$ cd ..
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment