If I change my fstab back so that it does not include the noacl option on the line the merge is much faster:
15:51:22.288607 git.c:350 trace: built-in: git 'merge' 'FETCH_HEAD' Updating 154cf50..a0f35eb Fast-forward 15:55:18.347594 run-command.c:336 trace: run_command: 'gc' '--auto' So it is clear that my fix for the Windows permissions is causing the merge to take a very long time. On 9 May 2016 at 14:34, andrew stern <astern.fix8.fo...@gmail.com> wrote: > Recently I upgraded to version 2.8.0 of git on cygwin. I’m running > under Windows 2008 R2. Before this upgrade we were able to share a > NFS drive as a main repository. After the upgrade the permissions > were changed so that only a single person had write access to the > repository on a shared NFS drive. When the push is done to the NFS > drive these permissions cause deny write access to the other users of > the repository so we couldn’t update the sha1 of the head reference. > An example of the incorrect permissions are: > > > Allow User Special not > inherited This folder only > Allow dev Special not > inherited This folder only > Allow Everyone Read & execute not > inherited This folder, subfolders and > Allow Administators for machine Special not > inherited This folder only > Allow SYSTEM Special not > inherited This folder only > Allow Users for machine Special not > inherited This folder only > Allow CREATOR OWNER Special not > inherited Subfolders and files only > Allow CREATOR GROUP Special not > inherited Subfolders and files only > > But the Windows permissions should have been inherited only. Also not > the group dev is not in the list. The permissions after a push showed > dev on the shared NFS drive along with errors that the permissions > were out of order. > > Allow Administators Full Control D:\ This folder, > subfolders and > Allow SYSTEM Full Control D:\ This folder, > subfolders and > Allow User Special D:\ This folder only > Allow CREATOR OWNER Special D:\ Subfolders > and files only > Allow User on Machine Read & execute D:\ This folder, > subfolders and > Allow User on Machine Special D:\ This folder, > subfolders > > > After searching through new groups and the web it was decided to add > noacl to the fstab for the cygwin mount: > > none /cygdrive cygdrive binary,posix=0,user,noacl 0 0 > > Now we are finding that the git merge onto our local drive after a > fetch from the NFS shared repository is taking a very long time. > (shown with >> in front on below line) > > $ git pull origin MCSTRATEGY_4_4 > 13:01:16.587064 git.c:351 trace: built-in: git 'pull' > 'origin' 'MCSTRATEGY_4_4' > 13:01:16.752064 run-command.c:336 trace: run_command: 'fetch' > '--update-head-ok' 'origin' 'MCSTRATEGY_4_4' > 13:01:16.790064 exec_cmd.c:120 trace: exec: 'git' 'fetch' > '--update-head-ok' 'origin' 'MCSTRATEGY_4_4' > 13:01:16.821064 git.c:351 trace: built-in: git 'fetch' > '--update-head-ok' 'origin' 'MCSTRATEGY_4_4' > 13:01:17.069064 run-command.c:336 trace: run_command: > 'git-upload-pack > '\''/cygdrive/s/StrategyServers/git/gitbmssorsrc.git/.'\''' > 13:01:17.136064 run-command.c:195 trace: exec: '/bin/sh' '-c' > 'git-upload-pack > '\''/cygdrive/s/StrategyServers/git/gitbmssorsrc.git/.'\''' > 'git-upload-pack > '\''/cygdrive/s/StrategyServers/git/gitbmssorsrc.git/.'\''' > 13:01:18.084064 run-command.c:336 trace: run_command: 'rev-list' > '--objects' '--stdin' '--not' '--all' '--quiet' > 13:01:18.229064 run-command.c:336 trace: run_command: 'rev-list' > '--objects' '--stdin' '--not' '--all' > 13:01:18.284064 exec_cmd.c:120 trace: exec: 'git' 'rev-list' > '--objects' '--stdin' '--not' '--all' > 13:01:18.314064 git.c:351 trace: built-in: git > 'rev-list' '--objects' '--stdin' '--not' '--all' > From /cygdrive/s/StrategyServers/git/gitbmssorsrc.git/. > * branch MCSTRATEGY_4_4 -> FETCH_HEAD > 13:01:18.367064 run-command.c:952 run_processes_parallel: > preparing to run up to 1 tasks > 13:01:18.373064 run-command.c:984 run_processes_parallel: done > 13:01:18.375064 run-command.c:336 trace: run_command: 'gc' '--auto' > 13:01:18.410064 exec_cmd.c:120 trace: exec: 'git' 'gc' '--auto' > 13:01:18.440064 git.c:351 trace: built-in: git 'gc' '--auto' > 13:01:18.454064 run-command.c:336 trace: run_command: 'merge' > 'FETCH_HEAD' > 13:01:18.486064 exec_cmd.c:120 trace: exec: 'git' 'merge' > 'FETCH_HEAD' >>> 13:01:18.517064 git.c:351 trace: built-in: git 'merge' >>> 'FETCH_HEAD' > Updating 9c40e07..a0f35eb > Fast-forward > 13:18:39.432839 run-command.c:336 trace: run_command: 'gc' '--auto' > 13:18:43.559539 exec_cmd.c:120 trace: exec: 'git' 'gc' '--auto' > 13:18:43.623539 git.c:351 trace: built-in: git 'gc' '--auto' > file.cpp | 5 +++-- > > First question is could this very large delay on git merge be caused > by the noacl? If noacl is causing this very large delay (which I > suspect to be the case since we didn’t have this large delay till the > noacl was added) is there another way to fix the permission issue when > using an NFS drive as a shared repository? -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple