Commits
- Commit:
4688fbd6c702430b4f90aa4db74b1e2f113ad942
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
CHANGES for 0.113
- Commit:
9925e94074a73e68c23232d9db686bdee44ebae6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix a race in gotd notification processing
Dequeue notifications from the list only once the notify process has
confirmed that the notification has been sent. This should be more
robust for the following reason:
In some spots were are checking the list head against NULL to see if
any notifications are still pending. By removing notifications from
this list too early, this check did not cover notifications which were
still in flight. We could thus end up deciding to shut down the session
process too early, and the last notification of several would fail.
Issue observed when sending a new commit on a branch and a new tag
which tags this commit to gotd in a single 'got send' operation.
Only the tag notification would make it, while the other notification
never arrived after an 'unexpected EOF' error in the notify process
while trying to send a confirmation to the session process.
ok op@
- Commit:
d907758cbe632fc02ea32fa9363f1b427ed21c32
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix bogus "unexpected privsep message" from gotsh during "got send"
Ensure that gotsh receives its end of the pack file data pipe
before repo_write starts sending pack file status messages.
Messages of type GOTD_IMSG_PACKFILE_StATUS would end up being
received in gotsh's serve_write() function too early.
This race is similar to the one fixed for repo_read back in commit
c2274a511a7415078e2628f969b8459f69432411
Reported by martijn@, who pin-pointed the problematic case in the code, thanks!
- Commit:
277ed191b926ae1e6b7ca037f3304903aa162828
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix default access for root and _gotd when gotsysd runs without config file
- Commit:
15cc6a0a0dfee48d9c101a5e4e589e3cb55ad343
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
gotwebd: do not forget to initialize *ngroups argument for getgrouplist()
spotted by Denis Bodor, thanks!
- Commit:
e2bc7eacc7fc0b0bb7659f08d380c3c7c4397890
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
whitespace fix; spotted by op@
- Commit:
22941965a71a75c83d27356f833ea780bb226975
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
improve redundant pack detection during cleanup
Instead of storing all referenced object IDs in a set, use the pack index
of the large pack file we have created to check whether an object exists.
Apply the modification time check only to packs which contain unreferenced
objects. Otherwise we can leave many duplicate pack files behind. I observed
this when all refs were packed and the packed-refs file was days old.
ok op@
- Commit:
1b11aa0ac1ed83c510d6c78fc5279380dbcebe73
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use got_path_cmp() instead of strcmp() in pack_info_cmp()
ok op@
- Commit:
8e6ecdb1ba3f72fe0dcc2176dc6abfb99b800e27
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
when packing, do not forget to mark commits reached via tags as traversed
ok op@
- Commit:
1e022131972893d7b4aa0052ffcd882f3052d24b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
ignore arbitrary amounts of leading slashes in ignore patterns, not just one
- Commit:
6ae2855c45508b25adb202d57dd345da8500b7bb
- From:
- Evan Silberman <evan@jklol.net>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
tweak 'got status' and 'got add' ignores handling for better git compatibility
Skip past leading slashes in ignore patterns. In gitignore(7), these
trigger the behavior got has by default. Add regress test.
Lift documentation of ignore patterns to a subsection, referenced by
the `add` and `status` docs.
Refine documentation of ignore patterns to discuss the extensions to
glob(7) as a whole, and then list caveats relative to git(1) and
cvs(1).
Add a file to the test worktree in the main gitignore regress test in
order to register a known delta to gitignore(7) that was ambiguously
documented previously: for the pattern a/**/foo, git will ignore
a/foo, but got will not.
Patch by: Evan Silberman
- Commit:
26e67dac35191e72095a1e9a7216719d3abfbb7c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gotwebd: delete trailing whitespaces
- Commit:
90c119aeb43213bc952461475bf5606199e82180
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gotwebd: simplify handling of action not found
- Commit:
0e9726b99c8bec7cc9c9cd8296b8618da01f4aa0
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
bump version number
- Commit:
1fbd2b3b8a636bb61fab938d7a5b84de6a90a5e1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
CHANGES for 0.112
- Commit:
afbdf128aa6bd65d2cb8ac370a0d9e6c358d6a83
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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
- Commit:
86abf691afcfe170d6225c87d8ffed982d0eecec
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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.
- Commit:
866e94146b2586459ca83c90f49ece8c91e1fdff
- From:
- Kyle Ackerman <kack@kyleackerman.net>
- Date:
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@
- Commit:
0212f1806003f525d9caffb418e2eb93b048b9d6
- From:
- Kyle Ackerman <kack@kyleackerman.net>
- Date:
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@
- Commit:
160508d5f79fc6e1794247e5d44b7bb413a14e8e
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove a gotsysd todo item that is done
- Commit:
84a6474d63ab0958f05fbea78767ca7ad130af32
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
implement support for protected references in gotsys.conf and gotsysd
- Commit:
cf599b8e0000b9576e1ca1015f52f574f6df0f10
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
gotsysd: call gotsys_conf_clear() in sysconf_shutdown() before exiting
- Commit:
e03756bbbc44041d2e02bc6668ba8f9129053400
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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
- Commit:
fcd4ab70e8a9040434264a073cde99eac4999186
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add a test for behaviour around .gitignore files within sub-directories
- Commit:
4492e47bc914650ecd587fcc94010ae0373ab91b
- From:
- Anton Lindqvist <anton@basename.se>
- Date:
gotwebd: inherit all user groups
Required if repos_path is not owned by the _gotwebd group.
ok stsp@