Re: Copying Git repository from Linux to Windows.
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Jun 15, 2011, 11:29 UTC
- Message-ID
- <201106151329.53839.jnareb@gmail.com>
- In-Reply-To
- <4DF891CC.1040700@st.com>
On Wed, 15 June 2011, viresh kumar wrote:
> On 06/15/2011 04:10 PM, Jakub Narebski wrote: >> viresh kumar <viresh.kumar@st.com> writes:
Show 21 quoted lines
>>> After completing copy operation on mem stick, i found something strange. >>> - git branch shows correct results and is exactly same of state at Linux machine. >>> - git log is also fine. >>> - git status, shows me a lot of files are modified, which is not present in Linux. >> >> That is probably because stat information is stale... or stat >> information doesn't work. Does second "git status" still show files >> as modified? > > Yes. The files status is same. > >>> - git reset --hard also doesn't work and fails with following error. >>> >>> $ git reset --hard HEAD >>> error: unable to create symlink arch/microblaze/boot/dts/system.dts (Operation not permitted) >>> Checking out files: 100% (36696/36696), done. >>> fatal: Could not reset index file to revision 'HEAD'. >> >> Try setting `core.symlinks` to false, or just try >> >> $ git -c core.symlinks=false reset --hard HEAD
[...]
Show 7 quoted lines
>> BTW. what filesystem do you use? >> > > It was FAT on memory stick as FAT is also there in Windows PC. > More observation: All files marked modified had only changes in file permissions. > i.e. 755 instead of 644. chmod doesn't work with FAT so can't change there permissions > now.
Ah. This is caused by the fact that FAT doesn't store executable permission.
> Problem is not only for symlinks but standard c files too.
So beside setting `core.symlinks` to false, you would have also set `core.filemode` to false (and perhaps also `core.ignorecase` to true).
You might also want to set `core.ignoreStat` to true to try to increase performace.
P.S. git-bundle ddidn't work?
-- Jakub Narebski Poland