From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [WIP PATCH 00/26] Git setup cleanup series
Date: Tue, 16 Feb 2010 23:04:51 +0700 [thread overview]
Message-ID: <1266336317-607-1-git-send-email-pclouds@gmail.com> (raw)
This is the result of my "Remove .git auto detection from setup_git_env()"
patch [1]. Basically I make git behave differently (and correctly) when
GIT_HARDENED_SETUP=1 to smooth out the migration from the current messy setup
to a less messy setup. Eventually GIT_HARDENED_SETUP should be enabled by
default and the obsolete code removed, but we're far away from that.
Summary of changes:
- startup_info struct is added to help move up setup_git_directory_gently()
to run_builtin(), which reduces lots of headache.
- GIT_HARDENED_SETUP=1 will make git die() whenever setup_git_env() is called
from anywhere but setup_git_dir*. It also creates lots of segfault because
get_git_dir() and friends now can return NULL.
- gitattr, gitexcludes will not access repository if there is no repository
- enter_repo() will use setup_git_dir* to do the setup
- because non-builtin commands do not have startup_info, they will behave
just like before. I'll need to look at them.
Tests are lacking. But you can just try "GIT_HARDENED_SETUP=1 make test"
after 04/26, then again at the end of the series to see the difference.
It'd be great if people see new failing tests. I'm not sure I have caught
them all.
[1] http://mid.gmane.org/1265370468-6147-1-git-send-email-pclouds@gmail.com
Nguyễn Thái Ngọc Duy (26):
rev-parse --git-dir: print relative gitdir correctly
setup_git_directory*: Explicitly set git dir
Save setup_git_dir* info globally for later use
Add GIT_HARDENED_SETUP to detect gitdir/worktree related mis-setup errors
enter_repo(): use setup_git_directory_gently internally
Tweak init/clone to work properly with GIT_HARDENED_SETUP=1
Support running setup_git_dir_gently() from the beginning for builtin commands
config: move up gitdir setup to run_builtin()
hash-object: move gitdir setup to run_builtin()
shortlog: move up gitdir setup to run_builtin()
Do not look for .git/info/exclude when gitdir is not set up
grep: move up gitdir setup to run_builtin()
USE_PAGER should not be used without RUN_SETUP*
Do not try to read $GIT_DIR/info/attributes if there is no repository
archive: move up gitdir setup to run_builtin()
mailinfo: move up gitdir setup to run_builtin()
check-ref-format: setup gitdir gently
verify-pack: set up gitdir gently
apply: move up gitdir setup to run_builtin()
bundle: move up gitdir setup to run_builtin()
diff: move up gitdir setup to run_builtin()
help: move up gitdir setup to run_builtin()
ls-remote: move up gitdir setup to run_builtin()
var: move up gitdir setup to run_builtin()
merge-file: move up gitdir setup to run_builtin()
Turn on GIT_HARDENED_SETUP for the whole test suite
attr.c | 5 ++-
builtin-apply.c | 13 +++----
builtin-archive.c | 2 +-
builtin-bundle.c | 6 +--
builtin-config.c | 12 +++---
builtin-diff.c | 6 +--
builtin-grep.c | 9 ++---
builtin-hash-object.c | 9 +++--
builtin-help.c | 2 -
builtin-init-db.c | 4 ++
builtin-ls-remote.c | 3 --
builtin-mailinfo.c | 3 --
builtin-merge-file.c | 4 +--
builtin-rev-parse.c | 8 ++++
builtin-shortlog.c | 4 +--
builtin-var.c | 2 -
cache.h | 8 ++++
config.c | 17 ++++++---
dir.c | 8 +++--
environment.c | 43 +++++++++++++++++-----
git.c | 88 +++++++++++++++++++++++++++++++----------------
path.c | 8 ++---
setup.c | 48 ++++++++++++++++++++------
t/t0024-crlf-archive.sh | 1 +
t/t1302-repo-version.sh | 2 +-
t/test-lib.sh | 3 ++
26 files changed, 204 insertions(+), 114 deletions(-)
next reply other threads:[~2010-02-16 16:38 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-16 16:04 Nguyễn Thái Ngọc Duy [this message]
2010-02-16 16:04 ` [WIP PATCH 01/26] rev-parse --git-dir: print relative gitdir correctly Nguyễn Thái Ngọc Duy
2010-02-16 16:04 ` [WIP PATCH 02/26] setup_git_directory*: Explicitly set git dir Nguyễn Thái Ngọc Duy
2010-02-16 16:04 ` [WIP PATCH 03/26] Save setup_git_dir* info globally for later use Nguyễn Thái Ngọc Duy
2010-02-16 16:04 ` [WIP PATCH 04/26] Add GIT_HARDENED_SETUP to detect gitdir/worktree related mis-setup errors Nguyễn Thái Ngọc Duy
2010-02-16 16:04 ` [WIP PATCH 05/26] enter_repo(): use setup_git_directory_gently internally Nguyễn Thái Ngọc Duy
2010-02-16 16:04 ` [WIP PATCH 06/26] Tweak init/clone to work properly with GIT_HARDENED_SETUP=1 Nguyễn Thái Ngọc Duy
2010-02-16 16:04 ` [WIP PATCH 07/26] Support running setup_git_dir_gently() from the beginning for builtin commands Nguyễn Thái Ngọc Duy
2010-02-16 16:04 ` [WIP PATCH 08/26] config: move up gitdir setup to run_builtin() Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 09/26] hash-object: move " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 10/26] shortlog: move up " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 11/26] Do not look for .git/info/exclude when gitdir is not set up Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 12/26] grep: move up gitdir setup to run_builtin() Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 13/26] USE_PAGER should not be used without RUN_SETUP* Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 14/26] Do not try to read $GIT_DIR/info/attributes if there is no repository Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 15/26] archive: move up gitdir setup to run_builtin() Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 16/26] mailinfo: " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 17/26] check-ref-format: setup gitdir gently Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 18/26] verify-pack: set up " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 19/26] apply: move up gitdir setup to run_builtin() Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 20/26] bundle: " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 21/26] diff: " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 22/26] help: " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 23/26] ls-remote: " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 24/26] var: " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 25/26] merge-file: " Nguyễn Thái Ngọc Duy
2010-02-16 16:05 ` [WIP PATCH 26/26] Turn on GIT_HARDENED_SETUP for the whole test suite Nguyễn Thái Ngọc Duy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1266336317-607-1-git-send-email-pclouds@gmail.com \
--to=pclouds@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).