Re: [git-users] Infinite spawning of git status

2014-03-23 Thread Philip Oakley

From: Dale R. Worley wor...@alum.mit.edu

From: Philip Oakley philipoak...@iee.org

Wild thoughts / just guessing :
Any sub-modules in your repo?

Could be an accidental circular reference (within the various
.gitmodules files)


No, I'm definitely not using submodules.


Could be a symlink somewhere creating a circular ref.


Unfortunately, it was set off by a cron job, and I have cron jobs
doing Git archiving of large parts of my file system, and there are
certainly circular symlinks hidden in various places.


Definately worth looking then ;-)



What I'm really wondering is What can cause git status to start a
subprocess?  I would expect for efficiency's sake, only very rare
circumstances would cause that.  And knowing that, it would probably
make it easier to guess what the underlying cause is.


I started looking at/for the code, expecting a git-status.c file of 
something. Eventually found it as the function cmd_status referenced in 
git.c

Line 437:   { status, cmd_status, RUN_SETUP | NEED_WORK_TREE },

which is then in builtin\commit.c (not where I'd expect it)
Line 1243: int cmd_status(int argc, const char **argv, const char 
*prefix)


It's only 81 lines long including the options structure so it can't be 
that hard to understand (though experience tells me otherwise ;-)




Dale

Philip 


--
You received this message because you are subscribed to the Google Groups Git for 
human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [git-users] Infinite spawning of git status

2014-03-23 Thread Dale R. Worley
 From: Philip Oakley philipoak...@iee.org
 
  Unfortunately, it was set off by a cron job, and I have cron jobs
  doing Git archiving of large parts of my file system, and there are
  certainly circular symlinks hidden in various places.
 
 Definately worth looking then ;-)

I've got a reproducible test case now, and for the entire stack of
git status processes, I have their CWDs, command lines, and
environments.  So I should be able to trace git-status and determine
exactly how it is freaking out.

There may be some submodule issues involved -- the repository is not
in the top level directory, but core.worktree is '/', and at least
some messages I'm seeing suggest that Git sees the repository as a
submodule.

Dale

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.