- patchname = fmt("%s.patch", sha1_to_hex(sha1));
- cgit_print_snapshot_start("text/plain", patchname, item);
- htmlf("From %s Mon Sep 17 00:00:00 2001\n", sha1_to_hex(sha1));
- htmlf("From: %s%s\n", info->author, info->author_email);
- html("Date: ");
- cgit_print_date(info->author_date, "%a, %d %b %Y %H:%M:%S %z%n");
- htmlf("Subject: %s\n\n%s", info->subject, info->msg);
- html("---\n");
- cgit_diff_tree(old_sha1, sha1, filepair_cb, NULL);
- html("--\n");
- htmlf("cgit %s\n", CGIT_VERSION);
- cgit_free_commitinfo(info);
+ repo_init_revisions(the_repository, &rev, NULL);
+ rev.abbrev = DEFAULT_ABBREV;
+ rev.verbose_header = 1;
+ rev.diff = 1;
+ rev.show_root_diff = 1;
+ rev.max_parents = 1;
+ rev.diffopt.output_format |= DIFF_FORMAT_DIFFSTAT |
+ DIFF_FORMAT_PATCH | DIFF_FORMAT_SUMMARY;
+ if (prefix)
+ rev.diffopt.stat_sep = fmt("(limited to '%s')\n\n", prefix);
+ setup_revisions(rev_argc, rev_argv, &rev, NULL);
+ prepare_revision_walk(&rev);
+
+ while ((commit = get_revision(&rev)) != NULL) {
+ log_tree_commit(&rev, commit);
+ printf("-- \ncgit %s\n\n", cgit_version);
+ }