Commits


CHANGES for 0.112


stop opening the repository when opening a work tree Opening a bunch of files in /tmp for pack temp files and opening the repository just to validate the work tree's base-commit ID is overkill. Simply parse the ID directly. If the commit object no longer exists we will run into another error sooner or later. The commit is already protected by the work tree reference. If it is missing then something has badly gone wrong. Doing less work when opening work trees speeds up 'got status' a bit. As pointed out by Kyle this also avoids running got-read-gitconfig twice when opening both a repository and a work tree. ok by op@ and Kyle Ackerman


add comments explaining that .got/base-commit needs hash algo information Hopefully, if we ever bump the work tree format in the future we will see these comments and sneak in a change to the .got/base-commit file in order to record the hash algorithm of the base commit ID.


Plug memory leaks in some libexecs This occurred when these particular libexecs get an imsg of type GOT_IMSG_STOP. They attempt to exit the main loop and leak the last imsg they received. ok stsp@ op@


Plug a memory leak in gitconfig.c conf_parse_line frees *section before allocating a new one, which leaks *section on the last iteration of conf_parse. ok stsp@


remove a gotsysd todo item that is done


implement support for protected references in gotsys.conf and gotsysd


gotsysd: call gotsys_conf_clear() in sysconf_shutdown() before exiting


fix unrelated errors being reported if a histedit operation is aborted This avoids errors such as "object not found" or "reference not found" when exiting the histedit script editor without making any changes to the script. got_worktree_histedit_abort() was filling up error.c error buffers with unrelated errors that were simply being ignored. I now see the expected "no changes made to histedit script" error. Issue reported by ninjin on IRC


add a test for behaviour around .gitignore files within sub-directories


gotwebd: inherit all user groups Required if repos_path is not owned by the _gotwebd group. ok stsp@


remove /tmp/got-importmsg on empty import commit message ok stsp@


typo in gotsysd.conf.5 spotted by Mischa Peters


bump version number


CHANGES for 0.111


fix gotsysd regress 'make vm' in case bsd.rd is looking for an upcoming release


ensure that gotsysctl gets installed into /usr/local/sbin


sync dist-file list


switch to UID 600 for _gotsysd to match the ports tree


got-fetch-http: improve handling of HTTP chunked responses Use a cursor inside the buffer to parse the reply and handle the chunking delimiters instead of memmove()'ing around memory all the time. Spotted after a report from Colin Percival on IRC (thank you!) about got-fetch-http hogging the CPU while cloning the FreeBSD src.git repository. While here also simplify the chunked/non-chunked distinction and teach http_read() how to directly copy the data to a FILE. tested also by Colin, ok stsp@


Plug some memory leaks in got-{send,fetch}-pack my_capabilities was leaked in both got-send-pack and got-fetch-pack and needed freeing it in both. ok op@


revert part of previous commit which wasn't actually needed for memleak checks


fix all remaining gotwebd leaks the regress memleak checker was flagging


free gotweb.c iev_server on shutdown


also clear iev_gotweb->ibuf before exit to appease the memleak checker