itPrint the number of remaining commits - stagit - [fork] customized build of stagit, the static git page generator Err adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/stagit URL:git://src.adamsgaard.dk/stagit adamsgaard.dk 70 1Log /src/stagit/log.gph adamsgaard.dk 70 1Files /src/stagit/files.gph adamsgaard.dk 70 1Refs /src/stagit/refs.gph adamsgaard.dk 70 1README /src/stagit/file/README.gph adamsgaard.dk 70 1LICENSE /src/stagit/file/LICENSE.gph adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1commit ad4f39870db9f6b93865f4e46dfda175e87c1f53 /src/stagit/commit/ad4f39870db9f6b93865f4e46dfda175e87c1f53.gph adamsgaard.dk 70 1parent ba27f14e8534a17b383c09c63d509aa5a5655f20 /src/stagit/commit/ba27f14e8534a17b383c09c63d509aa5a5655f20.gph adamsgaard.dk 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space adamsgaard.dk 70 iDate: Tue, 16 Nov 2021 18:17:45 +0100 Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iPrint the number of remaining commits Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iDiffstat: Err adamsgaard.dk 70 i M stagit.c | 27 ++++++++++++++++----------- Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i1 file changed, 16 insertions(+), 11 deletions(-) Err adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1diff --git a/stagit.c b/stagit.c /src/stagit/file/stagit.c.gph adamsgaard.dk 70 it@@ -74,7 +74,7 @@ static char *licensefiles[] = { "HEAD:LICENSE", "HEAD:LICENSE.md", "HEAD:LICENSE Err adamsgaard.dk 70 i static char *license; Err adamsgaard.dk 70 i static char *readmefiles[] = { "HEAD:README", "HEAD:README.md", "HEAD:README.rst", "HEAD:README.txt" }; Err adamsgaard.dk 70 i static char *readme; Err adamsgaard.dk 70 i-static long long nlogcommits = -1; /* < 0 indicates not used */ Err adamsgaard.dk 70 i+static long long nlogcommits = -1; /* -1 indicates not used */ Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i /* cache */ Err adamsgaard.dk 70 i static git_oid lastoid; Err adamsgaard.dk 70 it@@ -777,6 +777,7 @@ writelog(FILE *fp, const git_oid *oid) Err adamsgaard.dk 70 i git_oid id; Err adamsgaard.dk 70 i char path[PATH_MAX], oidstr[GIT_OID_HEXSZ + 1]; Err adamsgaard.dk 70 i FILE *fpfile; Err adamsgaard.dk 70 i+ size_t remcommits = 0; Err adamsgaard.dk 70 i int r; Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i git_revwalk_new(&w, repo); Err adamsgaard.dk 70 it@@ -796,8 +797,11 @@ writelog(FILE *fp, const git_oid *oid) Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i /* optimization: if there are no log lines to write and Err adamsgaard.dk 70 i the commit file already exists: skip the diffstat */ Err adamsgaard.dk 70 i- if (!nlogcommits && !r) Err adamsgaard.dk 70 i- continue; Err adamsgaard.dk 70 i+ if (!nlogcommits) { Err adamsgaard.dk 70 i+ remcommits++; Err adamsgaard.dk 70 i+ if (!r) Err adamsgaard.dk 70 i+ continue; Err adamsgaard.dk 70 i+ } Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i if (!(ci = commitinfo_getbyoid(&id))) Err adamsgaard.dk 70 i break; Err adamsgaard.dk 70 it@@ -805,15 +809,10 @@ writelog(FILE *fp, const git_oid *oid) Err adamsgaard.dk 70 i if (commitinfo_getstats(ci) == -1) Err adamsgaard.dk 70 i goto err; Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i- if (nlogcommits < 0) { Err adamsgaard.dk 70 i+ if (nlogcommits != 0) { Err adamsgaard.dk 70 i writelogline(fp, ci); Err adamsgaard.dk 70 i- } else if (nlogcommits > 0) { Err adamsgaard.dk 70 i- writelogline(fp, ci); Err adamsgaard.dk 70 i- nlogcommits--; Err adamsgaard.dk 70 i- if (!nlogcommits && ci->parentoid[0]) Err adamsgaard.dk 70 i- fputs("" Err adamsgaard.dk 70 i- "More commits remaining [...]" Err adamsgaard.dk 70 i- "\n", fp); Err adamsgaard.dk 70 i+ if (nlogcommits > 0) Err adamsgaard.dk 70 i+ nlogcommits--; Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i if (cachefile) Err adamsgaard.dk 70 it@@ -835,6 +834,12 @@ err: Err adamsgaard.dk 70 i } Err adamsgaard.dk 70 i git_revwalk_free(w); Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i+ if (nlogcommits == 0 && remcommits != 0) { Err adamsgaard.dk 70 i+ fprintf(fp, "" Err adamsgaard.dk 70 i+ "%zu more commits remaining, fetch the repository" Err adamsgaard.dk 70 i+ "\n", remcommits); Err adamsgaard.dk 70 i+ } Err adamsgaard.dk 70 i+ Err adamsgaard.dk 70 i relpath = ""; Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i return 0; Err adamsgaard.dk 70 .