Hi, On Fri, 8 Aug 2008, "Peter Valdemar Mørch (Lists)" wrote: > I don't want to be a troll... But in my original post, I write that git > log exits with 0 even when there are --check failures *and* --no-pager > is used. You seem to care enough. That is good. Because I will give you a few pointers to help yourself, and you can in return help us by submitting a patch: - the code to be changed lives in log-tree.c. Look for calls to the function log_tree_diff_flush(). You need to check the exit status after that (needs to be done only when DIFF_OPT_TST(opt->diffopt, EXIT_WITH_STATUS). - you can get at the exit status with the call diff_result_code(opt->diffopt, 0) (see the implementation in diff.c to find out what the 0 means, and why it is correct). - you need to accumulate the exit status (plural, with a long u) over all calls to log_tree_diff(), best thing would be to add a member to the log_info struct. - you need to test rev->loginfo->exit_code in the end, and return failure if it is non-zero. I think the place is in cmd_log_walk(). Bon chance, Dscho