[PATCH v2 2/2] Teach git log --exit-code to return an appropriate exit code

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

From: Peter Valdemar Mørch <peter@morch.com>


Signed-off-by: Peter Valdemar Mørch <peter@morch.com>
---
 builtin-log.c |    8 ++++----
 log-tree.c    |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/builtin-log.c b/builtin-log.c
index ae71540..3a79574 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -218,9 +218,9 @@ static int cmd_log_walk(struct rev_info *rev)
 		finish_early_output(rev);
 
 	/*
-	 * For --check, the exit code is based on CHECK_FAILED being
-	 * accumulated in rev->diffopt, so be careful to retain that state
-	 * information if replacing rev->diffopt in this loop
+	 * For --check and --exit-code, the exit code is based on CHECK_FAILED
+	 * and HAS_CHANGES being accumulated in rev->diffopt, so be careful to
+	 * retain that state information if replacing rev->diffopt in this loop
 	 */
 	while ((commit = get_revision(rev)) != NULL) {
 		log_tree_commit(rev, commit);
@@ -236,7 +236,7 @@ static int cmd_log_walk(struct rev_info *rev)
 	    DIFF_OPT_TST(&rev->diffopt, CHECK_FAILED)) {
 		return 02;
 	}
-	return 0;
+	return diff_result_code(&rev->diffopt, 0);
 }
 
 static int git_log_config(const char *var, const char *value, void *cb)
diff --git a/log-tree.c b/log-tree.c
index bd8b9e4..30cd5bb 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -432,7 +432,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log
 	struct commit_list *parents;
 	unsigned const char *sha1 = commit->object.sha1;
 
-	if (!opt->diff)
+	if (!opt->diff && !DIFF_OPT_TST(&opt->diffopt, EXIT_WITH_STATUS))
 		return 0;
 
 	/* Root commit? */
-- 
1.6.0.rc2.5.g3452.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
git diff/log --check exitcode and PAGER environment variable, "Peter Valdemar Mørch (Lists)"..., (Fri Aug 8, 5:39 am)
Re: Re* git diff/log --check exitcode and PAGER environment ..., "Peter Valdemar Mørch (Lists)"..., (Fri Aug 8, 7:02 am)
Re: Re* git diff/log --check exitcode and PAGER environment ..., Johannes Schindelin, (Fri Aug 8, 7:23 am)
[PATCH] Teach git log --check to return an appropriate error..., Peter Valdemar Mørch, (Sat Aug 9, 2:57 am)
PATCH v2 0/2 Trying patch again, Peter Valdemar Mørch, (Mon Aug 11, 2:46 am)
[PATCH v2 1/2] Teach git log --check to return an appropriat..., Peter Valdemar Mørch, (Mon Aug 11, 2:46 am)
[PATCH v2 2/2] Teach git log --exit-code to return an approp..., Peter Valdemar Mørch, (Mon Aug 11, 2:46 am)
Re: [PATCH] Teach git log --check to return an appropriate e..., Johannes Schindelin, (Sat Aug 9, 8:05 am)
Re: [PATCH] Teach git log --check to return an appropriate e..., "Peter Valdemar Mørch (Lists)"..., (Sun Aug 10, 1:05 pm)
Re: git diff/log --check exitcode and PAGER environment vari..., "Peter Valdemar Mørch (Lists)"..., (Fri Aug 8, 6:04 am)