author | Lars Hjemli <hjemli@gmail.com> | 2007-11-11 12:14:15 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-11-11 12:16:43 (UTC) |
commit | 5b75064a81f9fe8f8a446a4be050fe3dfcf52b89 (patch) (side-by-side diff) | |
tree | 6475b4bd9b3c4b0c1baee93ef0c1189d611ed7b4 | |
parent | 2919b91d20c80f92bf63bf19daace44ff2d2e9c9 (diff) | |
download | cgit-5b75064a81f9fe8f8a446a4be050fe3dfcf52b89.zip cgit-5b75064a81f9fe8f8a446a4be050fe3dfcf52b89.tar.gz cgit-5b75064a81f9fe8f8a446a4be050fe3dfcf52b89.tar.bz2 |
Set commit date on snapshot contents
The testsuite revealed that cgit snapshots don't set any useful timestamp on
the files contained in the snapshot.
Cherry-picked-from: 2ff33a8a0405b420cd75e0e207c7efeecd6f130b
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-snapshot.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ui-snapshot.c b/ui-snapshot.c index bd34a28..4d1aa88 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c @@ -70,64 +70,65 @@ static const struct snapshot_archive_t { void cgit_print_snapshot(struct cacheitem *item, const char *head, const char *hex, const char *prefix, const char *filename, int snapshots) { const struct snapshot_archive_t* sat; struct archiver_args args; struct commit *commit; unsigned char sha1[20]; int f, sl, fnl = strlen(filename); for(f=0; f<snapshot_archives_len; f++) { sat = &snapshot_archives[f]; if(!(snapshots & sat->bit)) continue; sl = strlen(sat->suffix); if(fnl<sl || strcmp(&filename[fnl-sl],sat->suffix)) continue; if (!hex) hex = head; if(get_sha1(hex, sha1)) { cgit_print_error(fmt("Bad object id: %s", hex)); return; } commit = lookup_commit_reference(sha1); if(!commit) { cgit_print_error(fmt("Not a commit reference: %s", hex)); return;; } memset(&args,0,sizeof(args)); args.base = fmt("%s/", prefix); args.tree = commit->tree; + args.time = commit->date; cgit_print_snapshot_start(sat->mimetype, filename, item); (*sat->write_func)(&args); return; } cgit_print_error(fmt("Unsupported snapshot format: %s", filename)); } void cgit_print_snapshot_links(const char *repo, const char *head, const char *hex, int snapshots) { const struct snapshot_archive_t* sat; char *filename; int f; for(f=0; f<snapshot_archives_len; f++) { sat = &snapshot_archives[f]; if(!(snapshots & sat->bit)) continue; filename = fmt("%s-%s%s", cgit_repobasename(repo), hex, sat->suffix); cgit_snapshot_link(filename, NULL, NULL, (char *)head, (char *)hex, filename); html("<br/>"); } } int cgit_parse_snapshots_mask(const char *str) { const struct snapshot_archive_t* sat; static const char *delim = " \t,:/|;"; int f, tl, rv = 0; |