While working on a git-browser, I noticed that git_setup_directory() is not reentrant. Once called it initializes (by calling other functions in turn) several static/hidden variables which can't be altered afterwards. This is ugly when one wants to iterate over different repositories (generating a list of available repos).
How could we fix this? I would propose that subsequent 'git_setup_directory()' calls will reinit the setup completely.
Another way would be to provide a 'git_setup_reset()' function which lets one cleanup all setup things before calling 'git_setup_directory()' again.
Comments?
Christian