[PATCH 00/16] nd/setup part two
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Mar 11, 2010, 13:22 UTC
- Message-ID
- <1268313754-28179-1-git-send-email-pclouds@gmail.com>
While the first part is more of preventing faults. This part fixes the remaining faults (or introduces more faults, who knows). I think I have got it to a readable/testable state.
On top of nd/setup, obviously.
Nguyễn Thái Ngọc Duy (16): Move enter_repo() to setup.c enter_repo(): initialize other variables as setup_git_directory_gently() does rev-parse --git-dir: print relative gitdir correctly worktree setup: call set_git_dir explicitly Add git_config_early()
Preparation
Use git_config_early() instead of git_config() during repo setup worktree setup: restore original state when things go wrong init/clone: turn on startup->have_repository properly
Improve setup stuff
git_config(): do not read .git/config if there is no repository Do not read .git/info/exclude if there is no repository Do not read .git/info/attributes if there is no repository apply: do not check sha1 when repository has not been found config: do not read .git/config if there is no repository
Stop improper access to repo (and incorrectly set git_dir
along the way)Allow to undo setup_git_directory_gently() gracefully (and fix alias code) alias: keep repository found while collecting aliases as long as possible
Alias fix/improvement. I think I can add some tests for this.
Guard unallowed access to repository when it's not set up
The original patch [1] that has grown up to a 37-patch, 2-part series
[1] http://mid.gmane.org/1265370468-6147-1-git-send-email-pclouds@gmail.com
attr.c | 5 +- builtin/apply.c | 2 +- builtin/clone.c | 3 +- builtin/config.c | 9 ++- builtin/init-db.c | 10 ++- builtin/rev-parse.c | 8 ++ cache.h | 6 ++- config.c | 22 +++++-- dir.c | 8 ++- environment.c | 33 ++++++++- git.c | 22 ++++--- path.c | 91 ----------------------- setup.c | 184 ++++++++++++++++++++++++++++++++++++++++++++--- t/t1300-repo-config.sh | 14 ++++ t/t1302-repo-version.sh | 2 +- t/t7002-grep.sh | 24 ++++++ 16 files changed, 309 insertions(+), 134 deletions(-)