Log

Author Commit Date CI Message
Stefan Sperling 5de743f8 2021-08-29T13:15:27 fix seek to incorrect offset in the delta base when creating deltas The stretchblk() function needs to compare data located after the block which has just been matched. However, upon entry it was resetting the file pointer of the delta base to the beginning(!) of the block. The other file is correctly positioned after the block. In many cases the data won't match and stretchblk() will not stretch the matched block. But when the data did happen to match this resulted in a bogus delta, and wrong file contents when the delta was applied. Fix this by setting the delta base file pointer to end of the block. Problem reported by naddy after our server refused a pack file which was sent by 'got send'. I could reproduce the issue by running the 'gotadmin pack' command on a copy of naddy's repository. ok naddy
Christian Weisgerber 535e07c7 2021-08-29T13:09:21 make realloc_ids() malloc-like and do not overallocate Let realloc_ids() take as argument the number of entries to allocate. Do not allocate an extra chunk. ok stsp
Christian Weisgerber a9662115 2021-08-29T13:01:47 add missing "return 1" to failure handling in the regress scripts ok stsp@
Christian Weisgerber 8f2a2f4f 2021-08-29T11:51:43 drop realloc_ids() initialization calls, one of which had a typo realloc_ids() is called again in the loops that assign to the ID arrays, before the first assignment. ok stsp
Stefan Sperling 43e4eb1b 2021-08-29T07:28:01 Add got(1) command tab-completion for ksh(1) to EXAMPLES section. Suggested by Clint Pachl, thanks!
Stefan Sperling 27b75514 2021-08-28T10:46:51 do not send a pack file when 'got send' is only deleting branches The git protocol spec says the client MUST NOT send a pack file if the only command used is 'delete'. Fixes 'got send -d' against Github's server which closed the session upon receiving the empty pack file we sent. This problem wasn't caught by regression tests since git-daemon does accept an empty pack file. Problem reported by jrick.
Stefan Sperling 2ae2891d 2021-08-28T10:23:24 remove github capabilities workaround from got-send-pack, it is not needed This workaround was inherited from git9, which claims that Github did not send capabilities. Protocol traces show that Github's server does in fact advertise its capabilities. Git protocol capabilities are hidden behind a NUL byte in the middle of the first refline sent by the server. This makes them easy to miss when treating a refline as a C string. I guess this is why Ori concluded that Github didn't send any capabilities. Or perhaps Github has been fixed since.
Tracey Emery 26ac815f 2021-08-27T19:48:23 remove unused name variables, noticed by naddy@
Tracey Emery 0ff2bf46 2021-08-27T19:37:15 clean up weird grammar. not sure what i was thinking.
Tracey Emery 16c4be8c 2021-08-27T19:32:56 fix to allow empty send and fetch blocks, ok stsp@
Tracey Emery cfd92333 2021-08-27T16:58:26 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 2f1457c6 2021-08-27T16:48:53 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 a099809f 2021-08-27T07:44:17 more manual page updates following the introduction of 'got send'
Stefan Sperling 93a300b2 2021-08-26T21:50:10 small man page spelling fixes
Stefan Sperling 4408b20f 2021-08-26T20:29:59 update the TODO list
Stefan Sperling fd44090b 2021-08-26T19:53:20 tweak the man page section about 'got send' In particular, attempt to describe the -f option better.
Stefan Sperling 1bd76734 2021-08-26T13:41:59 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 f9756a57 2021-08-26T12:30:42 Use POSIX-compatible syntax in send.sh tests. Patch by naddy@
Stefan Sperling f8a36e22 2021-08-26T12:30:42 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.
Christian Weisgerber 3379373c 2021-08-26T12:00:16 use POSIX [ s1 = s2 ] syntax instead of [ s1 == s2 ]
Stefan Sperling 8991a328 2021-08-26T07:08:48 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 a90356f7 2021-08-26T07:01:34 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 14d2b281 2021-08-25T21:40:38 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 63e5aa5c 2021-08-23T10:51:48 Expose got_ref_name_is_valid() for general purpose use. This will be needed for a future 'got send' command.
Stefan Sperling dc7edd42 2021-08-22T12:58:34 fix miscalculation of the final pack file size reported by got_pack_create()
Stefan Sperling cce2f485 2021-08-22T12:56:14 expose got_ref_resolve_symbolic() at the public library API This will be needed by a future 'got send' command.
Stefan Sperling 0af64e86 2021-08-22T12:54:21 plug a memory leak in an error path of got_deltify()
Stefan Sperling dd29967c 2021-08-22T12:53:22 make got_deltify() rellocate the deltas array less often
Stefan Sperling 9ca26ac3 2021-08-06T13:31:40 style fix: avoid comparison of pointer variable against 0 in got-fetch-pack
Stefan Sperling 72acb3d8 2021-08-06T12:43:33 remove unused 'repo' argument from got_reflist_insert()
Stefan Sperling b9c41b54 2021-08-03T08:08:03 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 aa8b5dd0 2021-08-01T12:59:32 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.
Stefan Sperling 267bb3b8 2021-08-01T10:14:48 plug a small memory leak in tog's show_diff_view() function
Stefan Sperling ef8ec606 2021-07-27T13:08:52 prevent a race where 'gotadmin cleanup' deletes concurrently created objects
Stefan Sperling 3f338f0a 2021-07-27T13:08:51 track the last modification time of references
Stefan Sperling e746ca7f 2021-07-26T09:47:49 bump version number
Stefan Sperling d7fcf401 2021-07-26T09:40:42 CHANGES for 0.55
Stefan Sperling 161728eb 2021-07-24T09:08:52 add 'got fetch -X' option for deleting references created by 'got fetch'
Stefan Sperling da630daa 2021-07-16T11:30:37 make got_ref_delete() report symbolic references as intended
Stefan Sperling 90830082 2021-07-16T11:28:01 in delete_ref(), only print progress output after deletion has succeeded
Stefan Sperling f9d54ee6 2021-07-16T11:13:12 align messages printed by 'got fetch -d' with 'got ref -d' and -X options
Stefan Sperling 993f033b 2021-07-16T11:07:29 make 'got ref -d' print reference name and value like the new -X options do
Stefan Sperling 643b85bc 2021-07-16T10:47:10 new -X option for removing backups created by got rebase and got histedit ok semarie
Stefan Sperling c3564dfa 2021-07-15T07:48:40 don't scan pack index offsets for large values if pack file is < 2GB This saves an iteration over the entire h->offsets array when opening a pack index which should not contain large offsets in the first place. ok millert@
Stefan Sperling ff6cc066 2021-07-10T22:48:52 remove now unused variable in browse_ref_tree() I overlooked; patch by naddy
Stefan Sperling bc573f3b 2021-07-10T22:47:23 fix a double-free that ocurred upon exit from 'tog tree'; found by naddy
Stefan Sperling 6843859a 2021-07-09T09:45:36 display recovery steps in the lonely pack index error message
Stefan Sperling 81ffddf9 2021-07-08T18:21:30 bump version number
Stefan Sperling a4b6bb94 2021-07-08T18:13:56 sync distfile list
Stefan Sperling 76a1aa69 2021-07-08T18:13:13 CHANGES for 0.54
Stefan Sperling d5c81d44 2021-07-08T11:03:29 verify object ID checksums while loose objects are being accessed
Stefan Sperling 4f655d1b 2021-07-08T10:37:01 sync files from diff.git 9879b82a581a245e365fb159488c4294c318d8b3
Stefan Sperling ff56836b 2021-07-08T10:30:10 Make 'got add' always require the -I option in order to add ignored files.
Stefan Sperling 1124fe40 2021-07-07T17:21:52 handle pack index files which lack a corresponding pack file ok millert
Stefan Sperling aea75d87 2021-07-06T07:57:00 make got_packidx_get_packfile_path() usable for callers who only have a path
Stefan Sperling 5345b4c7 2021-07-06T07:39:36 allow lockfiles to be used in cases where we have a dir_fd and a relative path
Stefan Sperling c294a758 2021-07-04T20:57:19 GOT_TEST_PACK=1 is incompatible with cleanup tests
Stefan Sperling 12f2167a 2021-07-04T16:24:52 add checksum parameters to got_inflate functions which did not provide them yet
Stefan Sperling 9614da0d 2021-07-04T10:27:59 avoid searching the pack index twice in 'gotadmin cleanup'
Stefan Sperling 2252c019 2021-07-03T22:55:27 Update a code comment regarding support of the preciousObjects extension.
Stefan Sperling 9188bd78 2021-07-03T22:51:03 add support for the preciousObjects Git extension to 'gotadmin cleanup'
Stefan Sperling e6786710 2021-07-03T22:08:15 mention 'gotadmin cleanup' wherever Git's garbage collector is mentioned
Stefan Sperling aaf7c342 2021-07-03T21:47:55 document an issue with disk space savings reported by 'gotadmin cleanup'
Stefan Sperling 88ba8483 2021-07-03T19:51:55 ls -1 is a no-op when stdout is redirected to a file; pointed out by naddy
Stefan Sperling 854ca8a0 2021-07-03T19:50:34 use posix = instead of ==; reminded by naddy
Stefan Sperling d4445ca5 2021-07-03T19:49:37 fix copy-paste error in 'gotadmin cleanup' man page section spotted by naddy
Stefan Sperling 4b2e47fb 2021-07-03T19:49:37 fix memory leak in error path of load_commit_or_tag()
Stefan Sperling b3d68e7f 2021-07-03T19:49:37 implement 'gotadmin cleanup'
Christian Weisgerber 8775a682 2021-07-03T15:41:31 use POSIX [ s1 = s2 ] syntax instead of [ s1 == s2 ]
Stefan Sperling 07165b17 2021-07-01T14:57:10 cache object type in memory to speed up packing of objects referenced by tags
Stefan Sperling ae23ce34 2021-07-01T14:57:10 fix inverted check guarding recallocarray() calls in get_reflist_object_ids()
Stefan Sperling 372b6d8e 2021-07-01T14:30:26 remove unused function got_object_idset_lookup_data(); same code as idset_get()
Stefan Sperling f4a2ff2d 2021-07-01T14:10:33 fix out-of-bounds access in 'gotadmin pack'; wrong array pointer in read_meta()
Stefan Sperling 2c41dce7 2021-06-27T15:30:08 allow obstructed files skipped by 'got update' to be updated again
Stefan Sperling a769b60b 2021-06-27T09:22:52 fix a bug where files skipped by 'got update' could not be updated again ok semarie@
Tracey Emery c333d3f7 2021-06-25T21:27:40 goto the right label, so we can get previous on the last page of briefs
Tracey Emery 178d3e72 2021-06-25T20:43:34 we will never have a previous link on the summary page
Tracey Emery f75a37be 2021-06-25T20:35:11 fix missed commit found check
Tracey Emery 5a911940 2021-06-25T20:21:01 fix a glaring logic error in navigation for commits, briefs, and tags. now, we get the proper commit id from the tailq.
Stefan Sperling 7e36bc2b 2021-06-25T09:23:51 move todo items from got.1 caveats to gotadmin.1 as appropriate
Stefan Sperling edeec58d 2021-06-25T09:22:59 remove a todo item from got.1 caveats; 'gotadmin pack' can pack repositories
Christian Weisgerber dbdddfee 2021-06-23T20:48:35 switch from SIMPLEQ to equivalent STAILQ macros The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp
Christian Weisgerber c8d1f14f 2021-06-23T15:39:58 explicitly include <endian.h> for be32toh()
Stefan Sperling 462c1b38 2021-06-23T13:13:49 got-build-regress.sh: add -R option to usage message
Stefan Sperling 905472e8 2021-06-23T10:57:17 got-build-regress.sh: support running tests with a non-default test root dir
Stefan Sperling 9c1dd3ec 2021-06-23T10:44:36 update defalt branch name in got-build-regress.sh
Stefan Sperling 08736cf9 2021-06-23T10:16:23 fix imsg header includes in pack_create.c
Stefan Sperling 0aced587 2021-06-22T20:36:20 bump version number
Stefan Sperling 611b4645 2021-06-22T20:28:32 changes for 0.53
Stefan Sperling 3217be6d 2021-06-22T20:03:59 in got.1, add -I to the synopsis line of the status command
Stefan Sperling e503f4d2 2021-06-22T20:02:08 sync dist file list
Stefan Sperling f6343036 2021-06-22T20:00:44 new -I option for 'got status' to show files which match an ignore pattern
Stefan Sperling bb5126ea 2021-06-22T19:37:49 packing requires unveiling the repository read/write; found by semarie
Stefan Sperling 05118f5a 2021-06-22T19:37:20 implement gotadmin pack, indexpack, and listpack commands
Stefan Sperling e6bcace5 2021-06-22T19:34:53 initial port of git9's pack file creation code to gameoftrees; thank you, Ori!
Stefan Sperling 136ec6c9 2021-06-22T19:18:55 forward-declare struct got_packidx to make got_lib_pack.h self-contained
Stefan Sperling c4330eff 2021-06-22T19:11:54 expose got_pack_parse_ref_delta() for library-internal use This will be needed by a future 'gotadmin listpack' command.
Stefan Sperling 02828bfd 2021-06-22T19:05:05 expose got_packidx_get_object_offset() for library-internal use This will be needed by a future 'gotadmin listpack' command.
Stefan Sperling 40e3cb72 2021-06-22T19:01:44 fix raw object size sent by got-read-pack
Stefan Sperling 1c4cdd89 2021-06-20T21:07:54 fix bogus 'permission denied' error when a file at work tree root is removed ok naddy