1 |
On 1/14/10, Nirbheek Chauhan <nirbheek@g.o> wrote: |
2 |
> On Wed, Jan 13, 2010 at 9:24 PM, Mike Frysinger <vapier@g.o> wrote: |
3 |
> > i think our current work flows also significantly impede the smooth running of |
4 |
> > this. if we had were using a dscm (git) on gentoo-x86, i feel like it'd be a |
5 |
> > much smoother ride for Gentoo devs to pull from a proxy maintainer and push on |
6 |
> > their behalf. |
7 |
> > |
8 |
> |
9 |
> |
10 |
> In theory, yes. In practice, git is too slow to handle 30,000 files. |
11 |
> Even simple operations like git add become painful even if you put the |
12 |
> whole of portage on tmpfs since git does a stat() on every single file |
13 |
> in the repository with every operation. |
14 |
|
15 |
What you need is "git update-index --assume-unchanged". That feature |
16 |
was introduced exactly to reduce stat(). |
17 |
|
18 |
BTW, if you know you only work in certain directories, doing "git diff |
19 |
--stat <dir>", "git diff --cached --stat <dir>" instead of "git |
20 |
status" would also help. Make aliases for them ("git dis" and "git |
21 |
dics" in my ~/.gitconfig) so you don't have to type full command every |
22 |
time. |
23 |
|
24 |
"git commit <dir>" and "git status <dir>" still do full tree lstat(). |
25 |
I can try to make a patch or two to reduce lstat() in such cases. |
26 |
|
27 |
Does that help? |
28 |
-- |
29 |
Duy |