From: Junio C Hamano <gitster@pobox.com>
To: Tay Ray Chuan <rctay89@gmail.com>
Cc: "Git Mailing List" <git@vger.kernel.org>
Subject: Re: [PATCH] demonstrate git-commit --dry-run exit code behaviour
Date: Fri, 21 Feb 2014 12:21:13 -0800 [thread overview]
Message-ID: <xmqqa9dk43pi.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1393010214-32306-1-git-send-email-rctay89@gmail.com> (Tay Ray Chuan's message of "Sat, 22 Feb 2014 03:16:54 +0800")
Tay Ray Chuan <rctay89@gmail.com> writes:
> In particular, show that --short and --porcelain, while implying
> --dry-run, do not return the same exit code as --dry-run. This is due to
> the wt_status.commitable flag being set only when a long status is
> requested.
I am not sure if --short/--porcelain should even be accepted by "git
commit" in the first place. It used to be that "git status" and
"git commit" were the same program in a different guise and "git
status <anything>" were merely a "git commit --dry-run <anything>",
but the recent push is in the direction of making them totally
separate in the end-user's minds. So if we want a proper fix, I
would actually think that these options should *error out* at the
command line parser level, way before checking if there is anything
to commit.
> No fix is provided here; with [1], it should be trivial to fix though -
> just a matter of calling wt_status_mark_commitable().
>
> [1] http://article.gmane.org/gmane.comp.version-control.git/242489
>
> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
> ---
> t/t7501-commit.sh | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
> index 94eec83..d58b097 100755
> --- a/t/t7501-commit.sh
> +++ b/t/t7501-commit.sh
> @@ -61,11 +61,47 @@ test_expect_success 'nothing to commit' '
> test_must_fail git commit -m initial
> '
>
> +test_expect_success '--dry-run fails with nothing to commit' '
> + test_must_fail git commit -m initial --dry-run
> +'
> +
> +test_expect_success '--short fails with nothing to commit' '
> + test_must_fail git commit -m initial --short
> +'
> +
> +test_expect_success '--porcelain fails with nothing to commit' '
> + test_must_fail git commit -m initial --porcelain
> +'
> +
> +test_expect_success '--long fails with nothing to commit' '
> + test_must_fail git commit -m initial --long
> +'
> +
> test_expect_success 'setup: non-initial commit' '
> echo bongo bongo bongo >file &&
> git commit -m next -a
> '
>
> +test_expect_success '--dry-run with stuff to commit returns ok' '
> + echo bongo bongo bongo >>file &&
> + git commit -m next -a --dry-run
> +'
> +
> +test_expect_failure '--short with stuff to commit returns ok' '
> + echo bongo bongo bongo >>file &&
> + git commit -m next -a --short
> +'
> +
> +test_expect_failure '--porcelain with stuff to commit returns ok' '
> + echo bongo bongo bongo >>file &&
> + git commit -m next -a --porcelain
> +'
> +
> +test_expect_success '--long with stuff to commit returns ok' '
> + echo bongo bongo bongo >>file &&
> + git commit -m next -a --long
> +'
> +
> test_expect_success 'commit message from non-existing file' '
> echo more bongo: bongo bongo bongo bongo >file &&
> test_must_fail git commit -F gah -a
next prev parent reply other threads:[~2014-02-21 20:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-21 19:16 [PATCH] demonstrate git-commit --dry-run exit code behaviour Tay Ray Chuan
2014-02-21 20:21 ` Junio C Hamano [this message]
2014-02-22 8:34 ` Jeff King
2014-02-24 17:16 ` Junio C Hamano
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=xmqqa9dk43pi.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=rctay89@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.