Commits
- Commit:
eb427b1c53fb6c01794f6603557c1d626bf2b03c
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add sigs/buf for signed commits
Add support for upstream's tag signing commits, but adding the relevant
files to autotools, and making those portable-compatible.
- Commit:
94ff3fb6acdc73dd5e3ecfee1cf41683fc554593
- From:
- Josh Rickmar <jrick@zettaport.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
c4d68ce0204aead5a093258cb25988e5591fc080
- From:
- Josh Rickmar <jrick@zettaport.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
Use pipe() which is a more understood syscall than pipe2() which doesn't
exist on MacOS, for instance. Since we we're passing in 0 to pipe2(),
this mean no fcntl() flags were being sent. As such, it's the same
syscall as pipe() which also has the added benefit that it's more
portable.
committing on behalf of thomas with my ok
- Commit:
ea08db7370b707e1f93ff35bc8f69ad9d6043df8
- From:
- Josh Rickmar <jrick@zettaport.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
whitespace fix
- Commit:
64313a9ca0c0dcc6618c399f11960a44cda569b4
- From:
- Josh Rickmar <jrick@zettaport.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix tag signing when the key file does not exist
This should fail without creating any tag. Before, ssh-keygen(1)
would print an error to stderr, but got would create an unsigned tag.
ok op@
- Commit:
d40a767d29b8dedc179d18a0df070f47ab334747
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
tog man page: provide a hint about differences between Myers and Patience
- Commit:
459c9b5d729663985a65eb88b5bb8955ca336251
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
rename got.conf(5) mirror-references to mirror_references for consistency
Existing configuration files will keep working for now since the old name
with dashes is still recognized by the config parser.
- Commit:
25eb584767361afbce3002356d91ff8d0a2a0ec0
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
rename got.conf(5) fetch-all-branches to fetch_all_branches for consistency
Existing configuration files will keep working for now since the old name
with dashes is still recognized by the config parser.
- Commit:
634cb454457dd3f5f7de912c24fdc8abb3aaed0d
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
tog: add C-g/backspace key map to abort compound cmds
Problem reported by stsp: 9999j would tie up tog till completed. While here,
trim trailing whitespace in tog.1 and make C-g alias existing backspace abort
key map for search and G in log view.
ok op@ and stsp@
- Commit:
444d532558298b49ff0edc7fc0376d71b5fa00b0
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
tog: expand horizontal split support to all views
With this, hsplits are now available to the same parent/child view combinations
as vsplits. Includes OB1 log truncation fix from op@ that was reported by stsp.
ok stsp@
- Commit:
871bd038071fdaf6129995ef9f56226616b47d25
- From:
- Josh Rickmar <jrick@zettaport.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- 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:
39b829747f18e3f29fe9a14487752d62711b1c0e
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix imsg_add TREE_ENTRY: Result too large on i386
There's a math error when computing the size of one entries in the
batching code. Reported by semarie, ok semarie stsp
- Commit:
fd8b4acb31083b84aa6c11e7d87a13c09c4a73f2
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix leftovers from long -> int change
when changing the line addresses to be int from long the report
callaback was forgotten.
- Commit:
bb90ca7bc134f43cfda3c6f5e5d0faac9f116820
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
got patch: handle mangled whitespaces
This makes 'got patch' try to ignore whitespaces when trying to match a
hunk.
Discused with and ok stsp@
- Commit:
25a880e1b423b178bccafb2f9d92dff53fc82261
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
got patch: don't loose the x bit when merging with diff3
This fixes a regression introduced with the diff3 merge: files merged
this way have their permissions resetted after patch.
The issue is due the fact that patch_file looks at a temporary files
and not at the original "old file".
Reported by and ok stsp@
- Commit:
762e07b8b32b19661fd3c2f50953dff2bd131359
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
aesthetic: rename regress to test_patch_rm_file
drop the "simple" part, there's no "complex" way of removing files.
- Commit:
8d8dc2a39f4cd01b98762eacddd87c5a178371ba
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
augment test_patch_add_line
Try to create a file with more than one line, it would have catched an
issue with my wip diff for ignore whitespaces in got patch.
While here rename the function to drop "simple".
- Commit:
68ceedb3e696e840d09ca33bbc4db85d514f3d67
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
refactor the patch parser
Introduce a patch_start routine that finds the next "diff" header (if
there is one); the idea is to persist some state (commit id and wether
it's a "git diff") while processing the content of the diff. It's
needed because in the case of 'got diff' some information like the
commit id are only present once at the beginning.
As a consequence, the patch parser becomes slightly more robust
(concatenating diffs produced by different means shouldn't confuse it
anymore) and drops the support for "old" got diffs, the ones previous
the introduction of the "commit -/+" header.
ok tracey@
- Commit:
fa502711bbf1a59b3e27e7fb6adc03b16a15892a
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
tog: remove count prefix timeout and bold output
Suggested by naddy. block till non-numeric input is entered, and don't echo in
bold.
ok naddy@ op@ and stsp@
- Commit:
244157854d2ab9af6728127cdda70af4c5b83444
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
unconditionally set x/y pointers in view_get_split()
suggested by and ok op@
- Commit:
adf4c9e089b963236c92bf14647ac21c0f29883b
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
make the diff algorithm used by 'tog diff' and 'tog blame' configurable
ok jamsek
- Commit:
0ab5c5dd8a9b0c5e87e8eda800b5c9930d197a42
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: sync CFLAGS with upstream
Due to the way the Makefiles are structured, there is no direct mapping
between upstream and how -portable provides the same functionality.
Therefore, add -Wunused-variable and -Wwrite-strings as per previous
commits.
- Commit:
25ec70067dea51a3c3ffd3c5f989853d80b847f7
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
switch 'tog diff' and 'tog blame' to Myers diff for speed
Make the choice of diff algorithm configurable by diff API users.
The got and gotweb programs keep using Patience diffs which are
prettier than Myers. But tog should be as fast as possible since
it is being used interactively. If performance of Patience diff
gets improved later we can consider switching tog back over to it.
ok tracey jamsek
- Commit:
068ab281f5df14cf0424c2640219bab16fd43a15
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
tog: fix C-d and G log view keymaps in horizontal split
Account for the border so we don't scroll offscreen, and don't unset the
load_all flag till all commits have been loaded so we take the correct path
in log_move_cursor_down().
ok stsp@
- Commit:
e44940c3e5135c640a6eccb2a5ebe054b4759909
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix fullscreen / split-screen toggle in tog
ok jamsek