From: Alex Riesen Date: Wed, 13 Oct 2010 10:35:24 GMT Subject: Re: git ls-files handles paths differently in Windows and Mac (probably Linux) Message-ID: In-Reply-To: 2010/10/13 Kirill Likhodedov : > > 12.10.2010, в 19:25, Alex Riesen написал(а): >> >> Besides, if you have to just check if the tree under a path is changed >> you can always use >> --exit-code or --quiet to "git diff", it will speed them up. > > Unfortunately, that's not enough: I have to know which files have changed and how (created, deleted, modified). > Also I feel that it's not the size of the output which is slow - the scan of directories itself is. Yeah, that's Windows for you. > I've made a script which executes these commands (which allow to get the total status) on a large > repository many times. > My results show that "ls-files -douvm"+"git diff-index --cached" is the fastest combination. > > Do you think I could achieve the same result in a simpler or faster way? No, don't think so. But you can run the commands in parallel, I suppose. And of course a patch implementing a command that does this (or improving the performance of "git diff") will be gladly considered here.