Commit Briefs


046f76c30e Thomas Adam

fix gotd sometimes reading reused deltas from wrong pack file

The reuse-pack is pinned but may change its cache slot while objects are being deltified. Refresh the pointer to the pinned reuse-pack before writing out the pack file, ensuring that reused deltas will in fact be read from the reuse-pack and not some other pack. Otherwise gotd may send a broken pack file, or hit an ERR_RANGE condition if the pack file which now occupies the pinned-pack's old cache slot is shorter. Which can trigger attempts to read beyond end-of-file which show up in the logs like this: gotd[37311]: repo_read /var/git/got.git: sending packfile: value out of range gotd[43877]: uid 1002: value out of range gotd[43877]: uid 1002: disconnecting


99fe3033f2 Thomas Adam

add xfail test for histedit folding of delete followed by add

If a file is deleted, then in modified form added again, folding should restore the file with its new contents. ok stsp


31a4bd82de Thomas Adam

portable: regress: add back GOT_TEST_PACK

The definition for GOT_TEST_PACK went walkies during a previous merge conflict. Add this back.


6d5b325d97 Thomas Adam

portable: regress: remove sed wrapper

Now that the use of sed(1) in tests has been replaced with ed(1), the sed wrapper can be retired. There are existing tests which use sed, but they're modifying a stream, rather than using -i, so there's no portability concerns.


ac3cdf31e0 Thomas Adam

regress: replace "sed -i" with ed(1) for portable in-place editing

"sed -i" is fundamentally unportable. GNU and OpenBSD sed(1) treat the extension for the backup file as an optional argument and use "sed -i" for no backup file. FreeBSD sed(1) treats the extension as an obligatory argument and uses "sed -i ''" for no backup file. There is no single syntax that works for both. ok stsp op


40f2f72b99 Thomas Adam

portable: regress: drop setting LC_TIME

common.sh sets LC_ALL=C which makes this change unnecessary now. Patch from Christian "naddy" Weisgerber.


ff1048fe65 Thomas Adam

portable: regress: minor cosmetic cleanup

Drop the forcing of "command" when calling sed(1).


e33b5f976e Thomas Adam

portable: regress: improve date wrapper

When looking for a suitable date wrapper, don't use the platform name, and rather use date(1)'s own parsing to choose BSD date, or gdate (GNU). Additionally, only declare the date() wrapper once. From Christian "naddy" Weisgerber


8fedfb3cc9 Thomas Adam

regress/commit.sh: tweak editor.sh for test_commit_prepared_logmsg

no need for sed (which doesn't change anything anyway), a no-op editor script is enough; the test ensures that the prepared log message is used. ok naddy@ stsp@


e4db89dadc Thomas Adam

regress: override locale settings

ok stsp


18a742f3fa Thomas Adam

don't pass -d to yacc

Patch from Josiah Frentsos, thanks!


42f290d4d3 Thomas Adam

gotd: remove more (all?) double process names in log


7161c4dc69 Thomas Adam

gotd: Fix more double process names

Patch by Josiah Frentsos, thanks!


8879c44af7 Thomas Adam

template: sync usage() with man page

`-o' was missing. Patch from Josiah Frentsos, thank you!


c7b0335924 Thomas Adam

portable: set next version


20a7eac510 Thomas Adam

portable: CI/README: update for coreutils

Mention that GNU coreutils is no longer required on *BSDs to run the test suite.


1c72bab5d1 Thomas Adam

portable: regress: drop GNU date on *BSDs

Check if date(1) supports -r and fallback to gdate if that fails, via a shell-wrapper. From Christian "naddy" Weisgerber.


8d6e02ca3f Thomas Adam

regress: make cmdline tests sh compatible

Ensure shell scripts can run under more POSIX-restricted shells. OK op@


0ef5847bc4 Thomas Adam

portable: remove ln(1) wrapper

GNU Coreutils is wrapped for some commands which don't offer a portable means to run those commands on non-BSD systems. ln(1) was being used with a non-portable option (-h) which has now been replaced upstream. Therefore, we can remove this wrapper. Patch from Christian "naddy" Weisgerber.


e6f45b7279 Thomas Adam

regress: replace unportable ln -h option with rm && ln

ok stsp


5c23a559a7 Thomas Adam

guard MIN() macro against redefinition


f3296add5b Thomas Adam

gotd requires a config file; don't fail silently when gotd.conf cannot be read

Fixes an issue encountered by mlarkin@ where the auth process was working with an empty list of repositories and kept saying it could not find a repository which was obviously listed in gotd.conf. Now we can see errors from fopen() in the logs instead. Old code was copied from gotwebd where the config file is optional.


f4204d5731 Thomas Adam

add got_repo_get_object_format()

and use it to avoid hardcoding the digest type in a few places. ok stsp@


e4e80ba431 Thomas Adam

add xfail test for "got diff" when a commit changed a file to a directory

git diff: diff --git a/alpha b/alpha deleted file mode 100644 index 4a58007..0000000 --- a/alpha +++ /dev/null @@ -1 +0,0 @@ -alpha diff --git a/alpha/beta b/alpha/beta new file mode 100644 index 0000000..65b2df8 --- /dev/null +++ b/alpha/beta @@ -0,0 +1 @@ +beta got diff: diff d973bf45ce9b2b437b5d6352368e8406f9e256e2 34413d01304800f99058a1a42769e92afc534199 commit - d973bf45ce9b2b437b5d6352368e8406f9e256e2 commit + 34413d01304800f99058a1a42769e92afc534199