Commits
- 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@
- Commit:
4d5ee9564a9e46a1f634f619833c62f636cfbdc1
- From:
- Josh Rickmar <jrick@zettaport.com>
- Date:
create and verify tags signed by SSH keys
This adds a new -s flag to 'got tag' that specifies the signer
identity (for example, a key file) of the tagger. The tag object will
include a signature that validates each of the tag object headers and
the tag message.
Verifying these signed tags requires maintaining an allowed signers
file which maps signer identities (i.e. the email address of the
tagger) to SSH public keys. See ssh-keygen(1) for more details of the
allowed signers file. After creating this file and providing the path
to it in got.conf(5) using the allowed_signers option, tags may be
verified using with 'got tag -V tag_name'. The return code will be
non-zero if a signature fails to verify.
ok stsp@
- Commit:
61af9b215c06bece11deb27d941b390b81e0f8c6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
implement support for commit coloring in got-read-pack for speed
ok op, tracey
- Commit:
d8b5af438b16bcea5568b1d4bfc127567e35e2f6
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use the commitid in the patch diff3 conflict header
suggested by and ok stsp@