Commits
- Commit:
ad3b5b58b098ef83ec0c06619a6cb3272a74bcf5
- From:
- Tobias Heider <me@tobhe.de>
- Date:
Rename got-http helper to got-fetch-http to match naming scheme.
We aren't planning to support sending anyway.
ok stsp@
- Commit:
ced242c2ebcf8284b1cb695dc144461cace5313c
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Tobias Heider <me@tobhe.de>
- Date:
Add initial read-only http fetch support using a got-http helper.
Currently we only support the smart protocol with a limited feature set.
ok stsp@ tobhe@
- Commit:
494e2b9b6acdb92382e65d0d9c990aaf8d3cbb22
- From:
- Kyle Ackerman <kackerman0102@gmail.com>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
plug a memory leak in 'got blame'
The leak is present in got_privsep_recv_traversed_commits. There is
an edge case where it receives consecutive imsgs. The first behaves as
normal and we got_object_id_dup the last commit id for
changed_commit_id. The following imsg(s) then still allocates the last
commit id, leaking the one(s) prior allocated.
Patch by Kyle Ackerman
- Commit:
47cb6f8b62ed4ad39838a5d4702f593b23d3e7f2
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix GOT_IMSG_COMMIT_TRAVERSAL_REQUEST
The sending and receiving side are sending the data differently. It
works now by chance since a struct got_object_id is "just" a
SHA1_DIGEST_LENGTH sized buffer, but will break in the future.
Furthermore, the structure of the data as described in got_lib_privsep.h
is not respected, as the path_len field is not transmitted.
Change it to send/receive a whole struct got_object_id, the path without
the NUL and the proper length. (The path is also actually mandatory, so
assert it too.)
improvements + ok stsp@
- Commit:
076fbedce1fccdd95af706a8b068aa8a49c88165
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use struct got_object_id instead of sha1 digest in a few imsg
change got_img_commit_painting_request, got_imsg_tag_object and the data
of GOT_IMSG_TRAVERSED_COMMITS not to copy the sha1 digest to the imsg
buffer and then from it to a new struct got_object_id but send directly
the whole struct.
ok stsp@
- Commit:
118a625d39930284f891ea1285efc17fb3848cae
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: further fetch tweaks to prevent unintended fetches
Implement stsp's suggestion to only fetch remote's HEAD if the symref
refs/remote/*/HEAD exists, and its target no longer matches the remote
HEAD. This ensures users tracking a project won't miss a change in HEAD,
while also fixing the issue reported by naddy where HEAD was fetched by
default even though a specific, potentially less active, branch is cloned,
resulting in a repository with more commits than necessary.
In addition, unless 'got fetch -b <branch>' is used, the remote HEAD branch
will be fetched if branches are not set in got.conf and there is no work
tree to ascertain a branch, or said branches are not found on the server.
ok stsp@
- Commit:
0dd7613ce65424868ec86f0623e38eb70d9a9321
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
special case 'got fetch -b <branch>' to only fetch <branch>
As discussed on irc, this drops the implicit remote HEAD fetch when -b is used.
got.1 has been updated to make the new fetch behaviour clear.
ok stsp@
- Commit:
188f8dcf2c1c15bf37859e3b587bc6331fd5a097
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix interaction of 'got fetch -b', got.conf, and work tree
Without branches in got.conf for a remote, and without -b/-R options,
the fallback to HEAD would only work when not invoked in a work tree.
With this fix 'got fetch' should behave as described in the man page.
The -b option now overrides both got.conf and the fallback to the work
tree's branch.
And fallback to HEAD works as expected when invoked in a repository.
Also, do not strictly require remote repositories to provide a branch
from the refs/heads/ namespace. In such cases users should be able to
use -R to select something to fetch.
ok jamsek
- Commit:
27749ea2ddbc482ad434ed865e0f855313db0a27
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-read-gitconfig: send key-value pairs for extensions
Most extension allow only for a boolean value so the current behaviour
of just sending the extension with a trueish value is fine. However,
some extensions that we could eventually support (like "objectformat")
have a string value. This is a preparatory step towards that.
ok stsp@
- Commit:
472dfe052943732fea89236959063c8ccdb769aa
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_commit_object: use struct instead of buffer for id
ok stsp@
- Commit:
7841c0d12f0a0e3f73db772df3b177a99ac0771f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_object: use struct instead of buffer for id
ok stsp@
- Commit:
427f294cd8765e673b3d562140ee3c5b895249fc
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_send_remote_ref: use struct instead of buffer for id
ok stsp@
- Commit:
5eb14fb9cee55bc3df623de8761d1e719ae697d4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_send_ref: use struct instead of buffer for id
ok stsp@
- Commit:
0701e66c20d0558f1f7c72d7fb700be6fe376d3f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_fetch_ref: use struct instead of buffer for id
ok stsp@
- Commit:
4b4da3bbc7a791ba0d7d9d369dfe1e7b65f7eed4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_fetch_have_ref: use struct instead of buffer for id
ok stsp@
- Commit:
407521c004a585e93d6e493eb0d5193f67197edd
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_raw_delta: use struct instead of buffer for id
ok stsp@
- Commit:
babd9f5d19e75f2db561f5873c7acaf5f56c0480
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_raw_delta_request: use struct instead of buffer for id
ok stsp@
- Commit:
265df21f29865b8cc1eb0f0b93b8ca91ff134414
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got_imsg_packed_object: use struct instead of buffer for id
ok stsp@
- Commit:
24b7de1c04072bf25db2df8acbf93a7ba7bbabfd
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
avoid copying reused deltas to delta cache file; copy from pack file instead
ok op@
- Commit:
6242c45bf7571868b35d644cd0655d3b007d60c9
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got send: show server error
Print the error message reported by the remote server when failing to
update a branch (for e.g. because of a server-side check.) Reported by
gonzalo@, with help and ok stsp@.
- Commit:
ad4cc36168576274131539e87b9007ef9b3c3725
- From:
- Omar Polo <op@omarpolo.com>
- Date:
convert got_pack' filesize to off_t; ok stsp@
- Commit:
b9de8018be96c42d3421711a341c1fc8f6d7e0fb
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
move declaration of got_privsep_child out of got_lib_privsep.h
This declaration is the only reason why got_lib_privsep.h must be
included in order to use got_lib_repository.h. Moving this declaration
will allow for cleaning up unnecessary includes of got_lib_privsep.h.
- Commit:
611e5fc2074d428e17f920dc595496af4dd0dc77
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
ensure got patch respects x-bit perms for new files
Reported by stsp on IRC: got patch failed to set the x-bit for a new file
despite got diff recording mode 755. Parse got and git diffs for this data
and set file modes accordingly. Tweaked with hint from op.
ok stsp@
- Commit:
5e91dae4dd43b8024731223110ab18f505f453ac
- From:
- Josiah Frentsos <jfrent@tilde.team>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove trailing whitespace; patch by Josiah Frentsos
- Commit:
d68f2c0e20f502d7bea2f0136527683f830b3d6c
- From:
- Josh Rickmar <jrick@zettaport.com>
- Date:
add signer_id option to got.conf(5)
Setting this option will cause 'got tag' to sign all created tags using
the SSH key, unless overridden by the -s flag.
ok stsp@