On Thu, Sep 04, 2014 at 05:53:34PM +0700, Duy Nguyen wrote: > On Thu, Sep 4, 2014 at 5:42 AM, Max Kirillov <max@xxxxxxxxxx> wrote: >> /* #0, #1, #5, #8, #9, #12, #13 */ >> set_git_work_tree("."); > > I wonder if we should setenv(GIT_WORK_TREE_) from inside this function > instead. A quick glance over 'git grep set_git_work_tree' gives me the > impression that it's safe to do so, and could cover future bugs > similar to this. Actually, I've been thinking about just the oppozite: remove the setenv(GIT_DIR) from the discovery code at all. Because backend performs the same discovery, and it would find the same git directory itself. And leave environment variables to be only set by user. Currently environment variables are used for both purposes: user can use them for hacky stuff, and git itself use them for passing internal information. But, as we can see, setting the variables can have bigger effect than expected. When they are set by user, it's ok, let him try, fail and set some else variable to adapt for his needs. But for git code there is the discovery routines, lets just use them always, it will cause a couple of extra (very few) IO calls but should always give same (correct) result -- Max -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html