Add "snapshot-prefix" repo configuration

Allow using a user-specified value for the prefix in snapshot files
instead of the repository basename.  For example, files downloaded from
the linux-stable.git repository should be named linux-$VERSION and not
linux-stable-$VERSION, which can be achieved by setting:

	repo.snapshot-prefix=linux

Signed-off-by: John Keeping <john@keeping.me.uk>
Reviewed-by: Christian Hesse <mail@eworm.de>
This commit is contained in:
John Keeping 2018-03-31 14:20:01 +01:00 committed by Jason A. Donenfeld
parent d85e8a9810
commit c1572bb5ec
7 changed files with 23 additions and 4 deletions

View file

@ -154,7 +154,7 @@ static const char *get_ref_from_filename(const struct cgit_repo *repo,
if (get_oid(snapshot.buf, &oid) == 0)
goto out;
reponame = cgit_repobasename(repo->url);
reponame = cgit_snapshot_prefix(repo);
if (starts_with(snapshot.buf, reponame)) {
const char *new_start = snapshot.buf;
new_start += strlen(reponame);
@ -214,7 +214,7 @@ void cgit_print_snapshot(const char *head, const char *hex,
hex = head;
if (!prefix)
prefix = xstrdup(cgit_repobasename(ctx.repo->url));
prefix = xstrdup(cgit_snapshot_prefix(ctx.repo));
make_snapshot(f, hex, prefix, filename);
free(prefix);