- 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);
+ init_revisions(&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_PATCH;
+ setup_revisions(ARRAY_SIZE(rev_argv), (const char **)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);
+ }