On Wed, Oct 13, 2021, at 2:32 PM, Nick Bowler wrote: > On 2021-10-13, Zack Weinberg <z...@owlfolio.org> wrote: >> On Wed, Oct 13, 2021, at 2:11 PM, Nick Bowler wrote: >>> I think this happened because your CI system has done a shallow clone. >>> So the changelog generation failed because the git log is incomplete. >> >> I did a --single-branch clone, but not a shallow one. Shouldn't the trunk >> be self-contained? > > I think --single-branch should be fine: it seems to work for me... > > But with e.g., a "--depth 1" clone I get the exact same error you > reported (because the commit IDs mentioned in .git-log-fix are not > available).
After a little more investigation, a --single-branch clone indeed works fine. I was confused by two unrelated bugs, which happen regardless of what you clone. 1. `make dist` immediately after `configure` fails due to a missing dependency somewhere: $ make dist make dist-xz dist-gzip am__post_remove_distdir='@:' make[1]: Entering directory '/home/zack/projects/gnu/B-automake' make distdir-am make[2]: Entering directory '/home/zack/projects/gnu/B-automake' make[3]: Entering directory '/home/zack/projects/gnu/B-automake' make[3]: Leaving directory '/home/zack/projects/gnu/B-automake' Updating ../automake/doc/version.texi GEN ../automake/doc/amhello-1.0.tar.gz ../automake/doc/amhello-1.0.tar.gz: recipe failed. See file '/home/zack/projects/gnu/automake/doc/amhello/amhello-output.tmp' for details make[2]: *** [Makefile:3759: ../automake/doc/amhello-1.0.tar.gz] Error 1 make[2]: Leaving directory '/home/zack/projects/gnu/B-automake' make[1]: *** [Makefile:3245: distdir] Error 2 make[1]: Leaving directory '/home/zack/projects/gnu/B-automake' make: *** [Makefile:3333: dist] Error 2 Running `make` first is a sufficient workaround. 2. `make dist` from a build directory that is not a subdirectory of the source directory fails during ChangeLog generation, with a different error than the one I reported earlier: make[1]: Entering directory '/home/zack/projects/gnu/B-automake' make distdir-am make[2]: Entering directory '/home/zack/projects/gnu/B-automake' GEN ChangeLog fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). gitlog-to-changelog: error closing pipe from git log --log-size '--pretty=format:%H:%ct %an <%ae>%n%n%s%n%n%b' '--since=2011-12-28 00:00:00' make[2]: *** [../automake/maintainer/maint.mk:48: ChangeLog] Error 1 make[2]: Leaving directory '/home/zack/projects/gnu/B-automake' make[1]: *** [Makefile:3245: distdir] Error 2 make[1]: Leaving directory '/home/zack/projects/gnu/B-automake' make: *** [Makefile:3333: dist] Error 2 I will see if I can find time to patch these. zw