iPrint the number of remaining commits - stagit-gopher - A git gopher frontend. (mirror) Err bitreich.org 70 hgit clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ URL:git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ bitreich.org 70 1Log /scm/stagit-gopher/log.gph bitreich.org 70 1Files /scm/stagit-gopher/files.gph bitreich.org 70 1Refs /scm/stagit-gopher/refs.gph bitreich.org 70 1Tags /scm/stagit-gopher/tag bitreich.org 70 1README /scm/stagit-gopher/file/README.gph bitreich.org 70 1LICENSE /scm/stagit-gopher/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 42613555baad830fd0fe65798e22ac65c18129e9 /scm/stagit-gopher/commit/42613555baad830fd0fe65798e22ac65c18129e9.gph bitreich.org 70 1parent 9d738c87ca291d354f215c45469a6ba983474f73 /scm/stagit-gopher/commit/9d738c87ca291d354f215c45469a6ba983474f73.gph bitreich.org 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space bitreich.org 70 iDate: Tue, 16 Nov 2021 21:10:02 +0100 Err bitreich.org 70 i Err bitreich.org 70 iPrint the number of remaining commits Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M stagit-gopher.c | 25 ++++++++++++++++--------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 16 insertions(+), 9 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/stagit-gopher.c b/stagit-gopher.c /scm/stagit-gopher/file/stagit-gopher.c.gph bitreich.org 70 i@@ -75,7 +75,7 @@ static char *licensefiles[] = { "HEAD:LICENSE", "HEAD:LICENSE.md", "HEAD:COPYING Err bitreich.org 70 i static char *license; Err bitreich.org 70 i static char *readmefiles[] = { "HEAD:README", "HEAD:README.md" }; Err bitreich.org 70 i static char *readme; Err bitreich.org 70 i-static long long nlogcommits = -1; /* < 0 indicates not used */ Err bitreich.org 70 i+static long long nlogcommits = -1; /* -1 indicates not used */ Err bitreich.org 70 i Err bitreich.org 70 i /* cache */ Err bitreich.org 70 i static git_oid lastoid; Err bitreich.org 70 i@@ -832,6 +832,7 @@ writelog(FILE *fp, const git_oid *oid) Err bitreich.org 70 i git_oid id; Err bitreich.org 70 i char path[PATH_MAX], oidstr[GIT_OID_HEXSZ + 1]; Err bitreich.org 70 i FILE *fpfile; Err bitreich.org 70 i+ size_t remcommits = 0; Err bitreich.org 70 i int r; Err bitreich.org 70 i Err bitreich.org 70 i git_revwalk_new(&w, repo); Err bitreich.org 70 i@@ -849,19 +850,19 @@ writelog(FILE *fp, const git_oid *oid) Err bitreich.org 70 i Err bitreich.org 70 i /* optimization: if there are no log lines to write and Err bitreich.org 70 i the commit file already exists: skip the diffstat */ Err bitreich.org 70 i- if (!nlogcommits && !r) Err bitreich.org 70 i- continue; Err bitreich.org 70 i+ if (!nlogcommits) { Err bitreich.org 70 i+ remcommits++; Err bitreich.org 70 i+ if (!r) Err bitreich.org 70 i+ continue; Err bitreich.org 70 i+ } Err bitreich.org 70 i Err bitreich.org 70 i if (!(ci = commitinfo_getbyoid(&id))) Err bitreich.org 70 i break; Err bitreich.org 70 i Err bitreich.org 70 i- if (nlogcommits < 0) { Err bitreich.org 70 i+ if (nlogcommits != 0) { Err bitreich.org 70 i writelogline(fp, ci); Err bitreich.org 70 i- } else if (nlogcommits > 0) { Err bitreich.org 70 i- writelogline(fp, ci); Err bitreich.org 70 i- nlogcommits--; Err bitreich.org 70 i- if (!nlogcommits && ci->parentoid[0]) Err bitreich.org 70 i- fprintf(fp, "%16.16s More commits remaining [...]\n", ""); Err bitreich.org 70 i+ if (nlogcommits > 0) Err bitreich.org 70 i+ nlogcommits--; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (cachefile) Err bitreich.org 70 i@@ -884,6 +885,12 @@ err: Err bitreich.org 70 i } Err bitreich.org 70 i git_revwalk_free(w); Err bitreich.org 70 i Err bitreich.org 70 i+ if (nlogcommits == 0 && remcommits != 0) { Err bitreich.org 70 i+ fprintf(fp, "%16.16s " Err bitreich.org 70 i+ "%zu more commits remaining, fetch the repository\n", Err bitreich.org 70 i+ "", remcommits); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 .