Commit Briefs


Tracey Emery

add send and fetch plumbing to parser for got.conf

This is the beginning of support for naddy's suggestion to break this out similar to git. More code to come from stsp. ok stsp@


Stefan Sperling

allow deletion of refs/remotes/ branches with got branch -d

Also, make requirements for branch name arguments more flexible. Absolute reference names are now accepted. ok naddy@



Stefan Sperling

small man page spelling fixes


Stefan Sperling

update the TODO list


Stefan Sperling

tweak the man page section about 'got send'

In particular, attempt to describe the -f option better.


Stefan Sperling

fix the output of 'got send -d' upon success

Previous output was: Already up-to-date New output is: Server has deleted refs/heads/branch Check this behavour in the related regression test.



Stefan Sperling

add 'got send' command for sending changes to remote repositories

Known to work against git-daemon and github Git server implementations. Tests by abieber, naddy, jrick, and myself. Man page additions reviewed by Lucas.



Stefan Sperling

add a missing bounds-check in got-fetch-pack when parsing server response

The tokenize_refline() function could end up reading past the end of the buffer if the refline is not terminated with whitespace or \0.


Stefan Sperling

prevent NULL deref in got-fetch-pack if server does not announce capabilities

The my_capabilities pointer may remain NULL. Check for NULL before use.


Stefan Sperling

fix the error message shown when the server sends a bad ref line

Exposed by trying to run got clone -l against shithub.us over git:// found by abieber@


Stefan Sperling

Expose got_ref_name_is_valid() for general purpose use.

This will be needed for a future 'got send' command.



Stefan Sperling

expose got_ref_resolve_symbolic() at the public library API

This will be needed by a future 'got send' command.






Stefan Sperling

use less memory allocations when formatting log messages

Rewrite got_object_commit_get_logmsg() such that only one memory allocation is made when creating a pretty version of a log message. ok naddy@


Stefan Sperling

fix a use-after-free in get_changed_paths() in got and tog

Once the parent commit is closed the tree_id1 pointer is no longer valid, but the pointer was still being used. Make a deep copy to fix this issue.