git-pull sets write bit, git-push does not

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



git-pull sets write bit, git-push does not

Hello,

Background: I am using Git locally with ClearCase upstream. I
initialized a Git repository on top of a ClearCase snapshot view,
while my work branches are in a clone. As ClearCase is particular
about the write bit, I have come to depend on an undocumented feature
of Git. Namely, that git-push preserves read only permissions, while
git-pull sets modified files writable.

Can git-push be relied upon to preserve the write bit (readonly)? Why
is git-pull different? Is it a side effect of the plumbing?

Thanks,
Alex

http://genaud.net/2008/08/clearcase-globally-git-locally/


Simplified case:

echo --
echo create a repo r1 with files A and B committed
echo --
mkdir r1
cd r1
echo A > A
echo B > B
git init
git add .
git commit -m init

echo --
echo create an identical repo r2 whose files are readonly
echo --
cp -r ../r1 ../r2
chmod u-w ../r2/[AB]

echo --
echo push a modification of A from r1 to r2
echo --
echo AA > A
git commit -a -m modA
git push ../r2

echo --
echo pull a modification of B from r1 to r2
echo --
echo BB > B
git commit -a -m modB
cd ../r2
git pull ../r1

echo --
echo notice that pushed A remains readonly
echo while pulled B has become writable
echo --
ls -l


-- 
[ alex@xxxxxxxxxx ][ http://genaud.net ]
[ B068 ED90 F47B 0965 2953 9FC3 EE9C C4D5 3E51 A207 ]
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux