On Mon, Feb 24, 2014 at 12:24:42PM +0800, Tay Ray Chuan wrote:
> > What happens here when there is an alternate status format _and_
> > --verbose is used? If I say "git commit --porcelain" it should imply
> > --dry-run. But "git commit --porcelain --verbose" no longer does so
> > after your patch.
>
> I should have just left the --dry-run inference alone, like this.
>
> -->8--
>
> @@ -1141,7 +1146,12 @@ static int parse_and_validate_options
> if (all && argc > 0)
> die(_("Paths with -a does not make sense."));
>
> - if (status_format != STATUS_FORMAT_DEFAULT)
> + if (verbose && !include_status) {
> + include_status = 1;
> + status_format = STATUS_FORMAT_NONE;
> + } else if (status_format != STATUS_FORMAT_DEFAULT)
> dry_run = 1;
>
> return argc;
Hrm, not quite, because the way include_status works is weird. If I turn
it off in the config, like this:
git config commit.status false
then asking explicitly for a status format should still dry-run and show
it:
git commit --porcelain
IOW, include_status is only respected when we are generating the actual
commit. So I think you need something more like:
if (status_format == STATUS_FORMAT_DEFAULT) {
if (verbose && !include_status) {
include_status = 1;
status_format = STATUS_FORMAT_NONE;
}
} else
dry_run = 1;
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html