ctucx.git: stagit

ctucx' stagit fork

commit 1778cba9794bbe5624db907bda2d065c971405b7
parent 955c3779ef1ad080b1b8a2f9746d766fdc74cb7e
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 26 Dec 2015 12:55:59 +0100

allow to specify clone url, displayed in header
1 file changed, 24 insertions(+), 1 deletion(-)
M
urmoms.c
|
25
++++++++++++++++++++++++-
diff --git a/urmoms.c b/urmoms.c
@@ -44,6 +44,7 @@ static const char *repodir;
 
 static char name[255];
 static char description[255];
+static char cloneurl[1024];
 static int hasreadme, haslicense;
 
 void

@@ -232,7 +233,15 @@ writeheader(FILE *fp)
 	xmlencode(fp, name, strlen(name));
 	fputs("</h1><span class=\"desc\">", fp);
 	xmlencode(fp, description, strlen(description));
-	fputs("</span></td></tr><tr><td></td><td>\n", fp);
+	fputs("</span></td></tr>", fp);
+	if (cloneurl[0]) {
+		fputs("<tr class=\"url\"><td></td><td>git clone <a href=\"", fp);
+		xmlencode(fp, cloneurl, strlen(cloneurl));
+		fputs("\">", fp);
+		xmlencode(fp, cloneurl, strlen(cloneurl));
+		fputs("</a></td></tr>", fp);
+	}
+	fputs("<tr><td></td><td>\n", fp);
 	fprintf(fp, "<a href=\"%slog.html\">Log</a> | ", relpath);
 	fprintf(fp, "<a href=\"%sfiles.html\">Files</a>", relpath);
 	if (hasreadme)

@@ -730,6 +739,20 @@ main(int argc, char *argv[])
 		fclose(fpread);
 	}
 
+	/* read url or .git/url */
+	snprintf(path, sizeof(path), "%s%s%s",
+		repodir, repodir[strlen(repodir)] == '/' ? "" : "/", "url");
+	if (!(fpread = fopen(path, "r"))) {
+		snprintf(path, sizeof(path), "%s%s%s",
+			repodir, repodir[strlen(repodir)] == '/' ? "" : "/", ".git/url");
+		fpread = fopen(path, "r");
+	}
+	if (fpread) {
+		if (!fgets(cloneurl, sizeof(cloneurl), fpread))
+			cloneurl[0] = '\0';
+		fclose(fpread);
+	}
+
 	/* check LICENSE */
 	haslicense = !git_revparse_single(&obj, repo, "HEAD:LICENSE");
 	git_object_free(obj);