All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org, Jonathan Niedier <jrnieder@gmail.com>
Subject: Re: [PATCH v2 2/4] run_builtin(): save "-h" detection result for later use
Date: Thu, 21 Oct 2010 15:57:30 -0700	[thread overview]
Message-ID: <7vsjzzrw6d.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: 1287544320-8499-2-git-send-email-pclouds@gmail.com

Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:

> When run_builtin() sees "-h" as the first argument, it assumes:
>
>  - this is the call for help usage
>  - the real git command will only print help usage then exit
>
> So it skips all setup in this case.  Unfortunately, some commands do
> other things before calling parse_options(), which is often where the
> help usage is printed.  Some of those things may try to access the
> repository unnecessarily. If a repository is broken, the command may
> die() before it prints help usage, not really helpful.

What does die() message say in that case?  If it says "your repository is
broken", that may be more useful than giving a help message.  I dunno.

> Demonstrating "git foo -h" fails depends on individual commands and
> is generally difficult to do. Instead GIT_TRACE is used to check
> if a command does set repo. If it does, it is supposed to fail if
> repo setup code chokes.

Hmm, I am not sure I understand this one.  If you are interested in
changing the behaviour of these commands when run with "-h" in a corrupt
repository, perhaps you can deliberately corrupt the test repository in
the trash directory you start with, and run these commands there, no?
For a good measure, you could use CEILING_DIRECTORIES to make sure the
tests do not climb up to the project repository.

  reply	other threads:[~2010-10-21 22:57 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-20  3:11 [PATCH v2 1/4] setup_git_env: print the true $GIT_DIR for debugging Nguyễn Thái Ngọc Duy
2010-10-20  3:11 ` [PATCH v2 2/4] run_builtin(): save "-h" detection result for later use Nguyễn Thái Ngọc Duy
2010-10-21 22:57   ` Junio C Hamano [this message]
2010-10-22  1:47     ` Nguyen Thai Ngoc Duy
2010-10-20  3:11 ` [PATCH v2 3/4] builtins: utilize startup_info->help where possible Nguyễn Thái Ngọc Duy
2010-10-20  3:12 ` [PATCH v2 4/4] builtins: check for startup_info->help, print and exit early Nguyễn Thái Ngọc Duy
2010-10-22  6:38   ` [PATCH en/and-cascade-tests 0/7] Jonathan Nieder
2010-10-22  6:42     ` [PATCH 1/7] branch -h: show usage even in an invalid repository Jonathan Nieder
2010-10-22 18:30       ` Junio C Hamano
2010-10-24  7:20         ` Jonathan Nieder
2010-10-24  8:13           ` [RFC/PATCH 0/4] update-index: migrate to parse-options API Jonathan Nieder
2010-10-24  8:15             ` [PATCH 1/4] parse-options: allow git commands to invent new option types Jonathan Nieder
2010-10-25 10:31               ` Stephen Boyd
2010-11-29  4:03                 ` Jonathan Nieder
2010-10-24  8:15             ` [PATCH 2/4] parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION Jonathan Nieder
2010-10-24  8:16             ` [PATCH 3/4] setup: save prefix (original cwd relative to toplevel) in startup_info Jonathan Nieder
2010-10-24  8:18             ` [PATCH 4/4] update-index: migrate to parse-options API Jonathan Nieder
2010-10-25 10:30               ` Stephen Boyd
2010-11-30  2:34                 ` Jonathan Nieder
2010-10-24 12:50             ` [RFC/PATCH 0/4] " Nguyen Thai Ngoc Duy
2010-10-27  4:19             ` Junio C Hamano
2010-11-30  2:52             ` [PATCH/RFCv2 0/6] " Jonathan Nieder
2010-11-30  2:55               ` [PATCH 1/6] parse-options: sanity check PARSE_OPT_NOARG flag Jonathan Nieder
2010-11-30  8:13                 ` Stephen Boyd
2010-12-01 23:01                   ` Junio C Hamano
2010-12-03  7:35                     ` Stephen Boyd
2010-12-01 23:36                   ` Junio C Hamano
2010-11-30  3:04               ` [PATCH 2/6] parse-options: do not infer PARSE_OPT_NOARG from option type Jonathan Nieder
2010-11-30  8:13                 ` Stephen Boyd
2010-11-30  3:08               ` [PATCH 3/6] parse-options: allow git commands to invent new option types Jonathan Nieder
2010-11-30  3:09               ` [PATCH 4/6] parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION Jonathan Nieder
2010-11-30  3:10               ` [PATCH 5/6] setup: save prefix (original cwd relative to toplevel) in startup_info Jonathan Nieder
2010-11-30  3:15               ` [PATCH 6/6] update-index: migrate to parse-options API Jonathan Nieder
2010-11-30  8:13                 ` Stephen Boyd
2010-11-30 16:00                   ` [PATCH] parse-options: always show arghelp when LITERAL_ARGHELP is set Jonathan Nieder
2010-10-22  6:44     ` [PATCH 2/7] checkout-index -h: show usage even in an invalid repository Jonathan Nieder
2010-10-22  6:45     ` [PATCH 3/7] commit/status -h: show usage even with broken configuration Jonathan Nieder
2010-10-22  6:47     ` [PATCH 4/7] gc " Jonathan Nieder
2010-10-22  6:48     ` [PATCH 5/7] ls-files -h: show usage even with corrupt index Jonathan Nieder
2010-10-22 18:30       ` Junio C Hamano
2010-10-22  6:49     ` [PATCH 6/7] merge " Jonathan Nieder
2010-10-22 18:31       ` Junio C Hamano
2010-10-22  6:51     ` [PATCH 7/7] update-index " Jonathan Nieder
2010-10-22  6:55     ` [PATCH en/and-cascade-tests 0/7] avoid repository access during "git <foo> -h" Jonathan Nieder
2010-10-22 11:23     ` [PATCH en/and-cascade-tests 0/7] Nguyen Thai Ngoc 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=7vsjzzrw6d.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=pclouds@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.