Merge branch 'mr/vcs-svn-printf-ulong'
[gitweb.git] / builtin / log.c
index 226212c96f22dfd36c79f07126b446ef8fec19c8..e6cab120182cfab3ac3af5d9a144959d0dc0bf05 100644 (file)
@@ -474,13 +474,13 @@ static int show_blob_object(const struct object_id *oid, struct rev_info *rev, c
        fflush(rev->diffopt.file);
        if (!DIFF_OPT_TOUCHED(&rev->diffopt, ALLOW_TEXTCONV) ||
            !DIFF_OPT_TST(&rev->diffopt, ALLOW_TEXTCONV))
-               return stream_blob_to_fd(1, oid->hash, NULL, 0);
+               return stream_blob_to_fd(1, oid, NULL, 0);
 
        if (get_sha1_with_context(obj_name, 0, oidc.hash, &obj_context))
                die(_("Not a valid object name %s"), obj_name);
        if (!obj_context.path[0] ||
-           !textconv_object(obj_context.path, obj_context.mode, oidc.hash, 1, &buf, &size))
-               return stream_blob_to_fd(1, oid->hash, NULL, 0);
+           !textconv_object(obj_context.path, obj_context.mode, &oidc, 1, &buf, &size))
+               return stream_blob_to_fd(1, oid, NULL, 0);
 
        if (!buf)
                die(_("git show %s: bad file"), obj_name);
@@ -1676,16 +1676,16 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
                /* nothing to do */
                return 0;
        total = nr;
-       if (!keep_subject && auto_number && total > 1)
-               numbered = 1;
-       if (numbered)
-               rev.total = total + start_number - 1;
        if (cover_letter == -1) {
                if (config_cover_letter == COVER_AUTO)
                        cover_letter = (total > 1);
                else
                        cover_letter = (config_cover_letter == COVER_ON);
        }
+       if (!keep_subject && auto_number && (total > 1 || cover_letter))
+               numbered = 1;
+       if (numbered)
+               rev.total = total + start_number - 1;
 
        if (!signature) {
                ; /* --no-signature inhibits all signatures */