Commit Briefs
portable: release 0.78 (tags/0.78)
sync files from diff.git 29c010c8648ec861ee463bc8fa8c66a64dd01154
This brings in a build fix for OpenBSD/sparc64.
fix free() of wrong address in gotweb's parse.y
Found by sthen via ports-gcc: gotweb/parse.y:504:3: warning: attempt to free a non-heap object 'file'
remove casts which make older gcc versions unhappy
../lib/diffreg.c:44: error: initializer element is not constant ../lib/diffreg.c:51: error: initializer element is not constant ../lib/diffreg.c:59: error: initializer element is not constant ../lib/diffreg.c:66: error: initializer element is not constant reported by Red on Libera IRC, and by sthen@ who pointed out such failures appearing in landry's sparc64 bulk build logs.
fix reference counting of raw objects opened via privsep helpers
Such objects were never closed, resulting in memory and file descriptor leaks.
use mkstemps(3) instead of mkstemp(3) for opening named temporary files
Allows 'got commit' to use a ".diff" suffix for temporary diff files. ok op@
add respect_exportok flag, defaulting to off
allows to hide repositories if they have the magic git-daemon-export-ok file ok op@ tracey@ stsp@
gotd: propagate confpath to children as well
otherwise they end up running with default config which isn't ideal. ok stsp@
send a newline first if erroring out in plaintext mode
otherwise, the webserver might complain: 'upstream sent invalid header: "gotwebd\x20..." while reading response header from upstream' ok stsp@
require space between commit author name and email, for Git compatibility
Allowing such author fields breaks 'got send' towards Github for affected commits because git-index-pack --strict will error out on the server: $ git index-pack --strict pack-de791fb6a3a1961e44ac5d98d72fd533bf9277c8.pack error: object 5d6bde9eaaf27f41ae8fa7112bb45e489d3c16b9: missingSpaceBeforeEmail: invalid author/committer line - missing space before email fatal: fsck error in packed object problem encountered by landry@ ok op@