Re: Git performance results on a large repository
- From
Joey Hess <joey@kitenet.net>
- Date
- Feb 6, 2012, 15:40 UTC
- Message-ID
- <20120206154043.GA14632@gnu.kitenet.net>
- In-Reply-To
- <CACsJy8Bf95JMp1qOiruR7+Tdi7JN42KNeMqGLud+z3O26DREnw@mail.gmail.com>
Nguyen Thai Ngoc Duy wrote:
Show 9 quoted lines
> The "interface to report which files have changed" is exactly "git > update-index --[no-]assume-unchanged" is for. Have a look at the man > page. Basically you can mark every file "unchanged" in the beginning > and git won't bother lstat() them. What files you change, you have to > explicitly run "git update-index --no-assume-unchanged" to tell git. > > Someone on HN suggested making assume-unchanged files read-only to > avoid 90% accidentally changing a file without telling git. When > assume-unchanged bit is cleared, the file is made read-write again.
That made me think about using assume-unchanged with git-annex since it already has read-only files.
But, here's what seems a misfeature... If an assume-unstaged file has modifications and I git add it, nothing happens. To stage a change, I have to explicitly git update-index --no-assume-unchanged and only then git add, and then I need to remember to reset the assume-unstaged bit when I'm done working on that file for now. Compare with running git mv on the same file, which does stage the move despite assume-unstaged. (So does git rm.)
-- see shy jo