|
8c6f70b8
|
2021-01-22T22:02:34
|
|
CHANGES for 0.48
|
|
60e40e95
|
2021-01-22T21:53:05
|
|
close file handles before freeing other things in got_worktree_close()
The work tree's path needs to be valid while constructing error messages.
|
|
e7abd6b6
|
2021-01-22T21:47:37
|
|
fix missing close(2) error check in got_worktree_close()
|
|
08578a35
|
2021-01-22T11:05:05
|
|
make close(2) failure checks consistent; check 'close() == -1' everywhere
ok millert, naddy
|
|
56b63ca4
|
2021-01-22T11:04:47
|
|
make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
ok millert, naddy
|
|
a6b21eef
|
2021-01-21T19:10:08
|
|
add missing braces around multi-line if-statement in got_worktree_close()
|
|
a06ff56f
|
2021-01-21T18:33:50
|
|
fix a use after free()
ok jrick stsp
|
|
56d0a753
|
2021-01-20T21:07:46
|
|
let 'got clone' write gitconfig directives that match the generated got.conf
|
|
1fddf795
|
2021-01-20T20:33:17
|
|
fix 'tog blame' segfault upon empty input file; reported by + ok naddy
|
|
d51387a0
|
2021-01-19T11:11:16
|
|
expand coverage of test_update_single_file: test file deletion during update
|
|
79775c2f
|
2021-01-19T11:09:49
|
|
fix copy-pasta in test_update_single_file
|
|
194cb7cb
|
2021-01-19T07:38:37
|
|
fix bug where 'got up -c commit path' deleted unrelated files from work tree
Problem reported by Timo Myyrä
|
|
99495ddb
|
2021-01-10T23:48:51
|
|
add a 'reference' directive to remote repositories in got.conf(5)
Make use of this in 'got clone' to persist -R option arguments given on
the command line in the cloned repository's got.conf(5) file.
|
|
1255c02f
|
2021-01-05T18:19:07
|
|
remove 'tog ref' todo item; pointed out by naddy
|
|
5aa20203
|
2021-01-05T17:51:49
|
|
document that 'got clone -a' sets 'fetch-all-branches' in got.conf(5)
|
|
0c8b29c5
|
2021-01-05T17:22:14
|
|
add a 'fetch-all-branches' configuration setting to got.conf(5)
Set fetch-all-branches in the got.conf(5) file created by 'got clone -a'
in order to make a future 'got fetch' act like 'got fetch -a' by default.
|
|
98f64f14
|
2021-01-05T17:17:58
|
|
work around spurious ACK responses from git servers in got-fetch-pack
The Git server can apparently send duplicate ACK responses even though we
do not enable the multi_ack capability. According to the Git protocol docs
the server should only send ACKs after receiving 'done' from the client if
multi_ack has been enabled.
However, a duplicate ACK response can be triggered by running 'got fetch -a'
in our fetch_update_tag test. This resulted in the following error:
got-fetch-pack: unknown side-band received from server
got: bad packet received
|
|
132af4a5
|
2021-01-05T15:30:44
|
|
store all branches passed via 'got clone -b' in got.conf(5) and git-config(1)
|
|
300ea754
|
2021-01-05T15:28:52
|
|
silence a printf in our gitconfig parser; this code shouldn't print to stdout
|
|
612392ee
|
2021-01-05T14:01:16
|
|
allow the 'got fetch' -l option together with the -q option
Make use of this in tests to hide useless output from ssh(1).
|
|
15d3c221
|
2021-01-05T13:47:37
|
|
make 'got clone' pin the fetched branch in got.conf(5)
Avoids relying on the server-side HEAD ref by default during future fetches.
|
|
7a90b680
|
2021-01-02T20:57:19
|
|
oops, initialize linesize before calling getline(3); from millert
|
|
9bdd68dd
|
2021-01-02T20:46:01
|
|
replace fparseln(3) with getline(3), for better portability
ok stsp
|
|
e6b8b890
|
2020-12-29T15:12:53
|
|
tog log: terminate author field at '>' in case there is no '@'
ok stsp
|
|
54c39596
|
2020-12-28T17:38:34
|
|
use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA
|
|
c80f5f01
|
2020-12-27T09:36:17
|
|
bump version number
|
|
1252b141
|
2020-12-27T09:35:43
|
|
CHANGES for 0.47
|
|
888b7d99
|
2020-12-26T23:18:45
|
|
make use of a reflist object id map in 'got log'
Impoves performance of 'got log' on the FreeBSD Git repo which can easily
contain more than 4000 references.
|
|
f0ff8d4c
|
2020-12-26T23:14:26
|
|
fix tag object leak introduced in previous commit
|
|
24202e46
|
2020-12-26T23:08:51
|
|
add tagged object IDs to reference list object ID map
Fixes display of "/tags/..." commit ID decorators in tog which was
broken in previous commits.
|
|
a53af95f
|
2020-12-26T23:04:46
|
|
fix error return from got_reflist_object_id_map_create()
|
|
f193b038
|
2020-12-26T22:39:55
|
|
rename got_reflist_object_map_free to got_reflist_object_id_map_free
|
|
dae613fa
|
2020-12-26T21:40:26
|
|
remove a comment that is now misleading
|
|
d9dff0e5
|
2020-12-26T21:32:01
|
|
switch reflist to TAILQ; insert elements more efficiently for sorted input
ok naddy
|
|
87670572
|
2020-12-26T21:15:38
|
|
switch the "tog <path>" log view shortcut to the global reference list, too
ok stsp
|
|
84de9106
|
2020-12-26T20:48:43
|
|
Add a refs argument to got_repo_match_object_id(), replacing 'resolve_tags'
Make use of this where possible to avoid re-reading references from disk.
ok naddy
|
|
8924d611
|
2020-12-26T19:23:06
|
|
switch tog ref view to the global reference list as well
ok naddy
|
|
51a10b52
|
2020-12-26T19:23:06
|
|
make tog store refs and object id map in global variables instead of per view
ok naddy
|
|
cc63216e
|
2020-12-26T12:23:23
|
|
update got.1 CAVEATS section; prompted by feedback from otto@
|
|
d2075bf3
|
2020-12-25T21:38:17
|
|
make use of reflist object id maps in tog log and diff views
This is a partial fix for performance issues when browsing the FreeBSD
Git repo, which can easily contain more than 4000 references.
ok naddy
|
|
7b5b670e
|
2020-12-25T21:38:17
|
|
implement an object ID map for reference lists
ok naddy
|
|
4c4ce67b
|
2020-12-25T21:38:17
|
|
fix assignment to wrong pointer in got_ref_dup()
ok naddy
|
|
838b0131
|
2020-12-21T20:43:23
|
|
bump version number
|
|
22cbd110
|
2020-12-21T20:40:10
|
|
CHANGES for 0.46
|
|
9a02f8b7
|
2020-12-21T12:59:27
|
|
switch to strerror_r(3) in error.c for thread-safety
|
|
c884fd0a
|
2020-12-21T12:59:27
|
|
introduce got_custom_error array to support multiple errors in flight
This is still not thread-safe but at least avoids errors overwriting each
other in single-threaded contexts.
|
|
ccf6dd5e
|
2020-12-19T14:09:38
|
|
avoid signed vs unsigned comparisons in fetch.c
ssizeof() macro idea courtesy of millert@
ok millert@
|
|
c156c7a4
|
2020-12-18T19:19:46
|
|
do not mix up repositories if tog's -r option is used inside a work tree
with input from and ok naddy
|
|
5a8b373c
|
2020-12-18T15:55:18
|
|
fix parsing of tag objects which lack a tag message
This problem could be triggered with the u-boot repository:
$ git clone --bare https://gitlab.denx.de/u-boot/u-boot.git
$ got log -r u-boot.git
got-read-pack: bad object data
got: bad object data
$
|
|
e8bfb8f3
|
2020-12-18T15:52:25
|
|
fix path existence check in got_object_tree_path_changed()
A symptom of this was a segfault in 'got blame distrib/miniroot/install.sub'
with the OpenBSD src.git from github, reported by jrick.
The problem was that the commit graph traversed one commit too far.
This could be more easily reproduced with 'got log':
got log -c 05f568 -P distrib/miniroot/install.sub
Which listed two commits instead of just the first one:
05f568ecc6aadefa1aff9064a29e798874a71409 <-- install.sub first created here
7c0d87f00e480cdf004324dad6f3e6f4418f8f42
"distrib/miniroot" exists in 7c0d87f00e480cdf004324... but not in the parent
of this commit. Ensure that we traverse the full path in tree1 even if an
intermediate tree2 cannot be opened. Instead of reporting success and a file
change if we can't traverse further through tree2, we now hit this failing
attempt to open the file 'install.sub' in tree object 180aa33df8d1 (tree1):
te1 = find_entry_by_name(tree1, seg, seglen);
if (te1 == NULL) {
err = got_error(GOT_ERR_NO_OBJ);
goto done;
}
fix tested and ok jrick
|
|
a4153d5b
|
2020-12-17T23:13:10
|
|
more concise fix for path_list_reverse_input() crash; suggested by millert
|
|
8891c2ab
|
2020-12-17T20:46:54
|
|
fix crash in path_list_reverse_input() after switch to unsigned loop index
|
|
85f4e1e7
|
2020-12-17T16:17:51
|
|
fix the type of variable 'idx' in update_packidx()
|
|
6059809a
|
2020-12-17T15:54:47
|
|
use size_t for loop indices to avoid signedness warnings; by emaste@freebsd
Same change as 16aeacf7088d, for subdirectories other than lib/
|
|
6d5a9006
|
2020-12-16T11:16:27
|
|
add fd field to got_repository, modify got_packidx_open to use fds
These changes are intended to make got more compatible with
FreeBSD's Capsicum.
ok stsp
|
|
a615e0e7
|
2020-12-16T00:08:58
|
|
implicitly mark all files in work tree as up-to-date after rebase/histedit
This should always be correct, since rebase and histedit start out with a
clean and single-base-commit worktree, and end up committing all changes
across the entire work tree when they are successful.
tested by jrick and myself
|
|
0d5bb276
|
2020-12-15T23:50:35
|
|
allow editing of log message comments with 'got histedit'
This makes it possible to remove just comment lines from log messages
during a histedit operation, leaving the rest of the log message as-is.
The behaviour of treating changes to comment lines as no-ops was coded
to prevent mistakes during 'got commit/import/tag', where the command
will error out if the log message template is not modified. This is not
appropriate for histedit because histedit is used to fix such mistakes.
ok millert@
|
|
73e7eb7d
|
2020-12-15T23:45:34
|
|
add got_error_fmt()
got_error_fmt() could eventually replace got_error_path() which has already
been used to construct errors with strings that are not actually paths...
ok millert@
|
|
4cc6a5a5
|
2020-12-15T22:42:20
|
|
add got_error_from_errno_fmt() for more flexibility in error messages
suggested by and ok millert
|
|
748d5cab
|
2020-12-14T22:15:50
|
|
replace unprintable characters with '.' before passing them to curses
Otherwise, ncurses will replace them with some printable representation
whose width we can't predict, and wunctrl() fails to return the
replacement for 0x80..0x9f.
ok stsp
|
|
f5a09613
|
2020-12-13T19:07:20
|
|
reset tog blame view's scroll position if line count shrinks too much
ok stsp
|
|
b2d2e70d
|
2020-12-13T13:51:25
|
|
bump version number
|
|
c39ec063
|
2020-12-13T13:28:05
|
|
sync distfile list
|
|
dd30c874
|
2020-12-13T13:26:59
|
|
CHANGES for 0.45
|
|
a347e6bb
|
2020-12-13T13:19:10
|
|
test behaviour of histedit -f with an empty log message
|
|
239f5c5a
|
2020-12-13T13:11:23
|
|
add a basic test case for histedit -f
|
|
71392a05
|
2020-12-13T11:43:41
|
|
prevent log message loss of folded commits during histedit
If the histedit log message editor exits without saving its buffer,
Got threw away log messages of all commits which were folded. Only the
last commit message is preserved, which could be something meaningless
like "fixup".
Instead, preserve the initial editor buffer content as-is.
That is not going to be an ideal log message, but doesn't throw away
information and stands out visually because the newly created log message
will start with a comment like '# log message of folded commit a0ff...'
Problem reported by jrick
|
|
b3805337
|
2020-12-13T11:40:10
|
|
histedit -f conflicts with -F option
Also fixed as part of a different patch from jrick
ok jrick
|
|
ff69268e
|
2020-12-13T11:38:48
|
|
use a helper function to generate error messages for mutually exclusive options
Inspired by a different patch from jrick
ok jrick
|
|
9f6bb280
|
2020-12-11T11:41:43
|
|
remove redundant explanation of histedit -f and -m options from got.1
|
|
b54435ba
|
2020-12-11T01:19:21
|
|
fix typo in got.1: "only if" -> "if only"; pointed out by tracey
|
|
2a78779e
|
2020-12-11T01:18:32
|
|
document that histedit -f can only be used if starting a histedit operation
|
|
7f64f4d6
|
2020-12-10T23:42:06
|
|
accommodate newer ncurses where panel_userptr() returns a const pointer
ok stsp
|
|
826082fe
|
2020-12-10T23:35:19
|
|
use getline(3) instead of fparseln(3) in tog, for better portability
ok millert
|
|
466785b9
|
2020-12-10T23:24:31
|
|
add histedit -f flag for folding shortcut
"please push it" stsp
|
|
3f670bfb
|
2020-12-10T21:59:00
|
|
fix display of lines that end in "\r\n" in tog(1)
Problem found and reported by jrick
ok naddy
|
|
437adc9d
|
2020-12-10T08:29:04
|
|
add fd field to got_worktree, modify got_fileindex_entry_update to use fds
These changes are intended to make got more compatible
with FreeBSD's Capsicum.
ok stsp
|
|
f3b2b552
|
2020-12-10T16:58:11
|
|
sync files from diff.git b3fd1fa284e6207b923bd3c887364d9eb93fb340
|
|
c5fdccbf
|
2020-12-10T08:08:42
|
|
fix expected output of test_tree_submodule_of_same_repo for packed repos
|
|
9cd7cbd1
|
2020-12-07T13:13:41
|
|
deep-copy reference names in the log and tree views to prevent use-after-free
ok naddy
|
|
bf30f154
|
2020-12-07T11:47:20
|
|
miscellaneous minor style issues
|
|
ca51c541
|
2020-12-07T01:03:40
|
|
reload references when the log view is restarted with Ctrl-L
|
|
01ca22b1
|
2020-12-07T00:56:26
|
|
in tog.1, consistently mark up command names of views with .Cm
|
|
21920d7e
|
2020-12-07T00:49:27
|
|
in tog.1, sync the synopsis of 'tog diff' to include all supported options
|
|
4e0d2870
|
2020-12-07T00:23:33
|
|
pass the thread_args struct to queue_commits() and trim the parameter list
ok stsp
|
|
1e1ff4ed
|
2020-12-07T00:06:56
|
|
move the tree view's selection cursor up if the terminal shrinks too much
ok naddy
|
|
8b5b8d0c
|
2020-12-06T23:07:07
|
|
move the ref view's selection cursor up if the terminal shrinks too much
bug found by naddy
ok naddy
|
|
cdfcfb03
|
2020-12-06T22:50:34
|
|
send resize events to tog child views as well as parent views
problem found by naddy
ok naddy
|
|
21355643
|
2020-12-06T22:03:32
|
|
fix crashes when the 'tog log' view reloads displayed data
This reimplements log view reloading (Ctrl-L), logging of a parent
path (Backspace), and the toggle to show commits on branches (B).
The idea is to reuse the existing log view and change its state, instead
of allocating a new view with a new state and replacing the existing view.
Fixes a segfault that occurs when a parent path is logged with Backspace:
tog tree -r got.git -c 0.44
pick tog/tog.c
'l'
Backspace
-> tog will segfault
The first change in this patch is a partial fix. The log thread should always
check the 'quit' flag as soon as it wakes from sleep. Otherwise it could try
to load more commits after waking up and before checking the 'quit' flag.
It will then attempt to load commits with a NULL commit graph pointer.
This partial fix by itself is not sufficient to fix the crash, since we'll
now see a bus error in the main thread, instead of a NULL deref in the
log thread. The remainder of the patch fixes this bus error.
ok naddy
|
|
486cd271
|
2020-12-06T20:12:42
|
|
plug leak of ref in cmd_tree(); found by naddy
|
|
4e97c21c
|
2020-12-06T20:12:42
|
|
make tog tree view keep track of branches/tags specified via -c
ok naddy
|
|
d8f38dc4
|
2020-12-05T22:14:04
|
|
make ^L in the tog log view stick to branches/tags selected via the -c option
Previously, the log view would remember the branch of the work tree in
which tog was started, and jump back to that branch upon ^L even if a
different branch was requested via -c.
ok naddy
|
|
785d65a4
|
2020-12-05T22:11:32
|
|
make got_repo_object_match_tag() work with absolute reference names
Bug triggered by naddy while testing a patch for tog.
ok naddy
|
|
5a8b5076
|
2020-12-05T16:58:37
|
|
do not recompute the displayed diff if '<' or '>' command cannot advance
Recomputing a diff can take time. Only do it if a different commit is
going to be displayed.
|
|
fb59748f
|
2020-12-05T16:58:37
|
|
garbage-collect pointless main_view variable in view_loop()
This short-cut is not necessary and was buggy: The pointer was not updated
even if the main view had changed. Removing this code fixes a problem on
FreeBSD where pressing 'q' in a child view caused tog to exit.
ok naddy
|
|
2b779855
|
2020-12-05T16:19:55
|
|
fix move to next/prev commit in diff view when the log view is not displayed
Original analysis and final tweak by yours truly, all the hard work of
fixing the program logic by stsp.
ok stsp
|
|
ee756517
|
2020-12-05T13:12:32
|
|
pass reference name along when a log view is opened from a ref view
ok naddy
|
|
e78dc838
|
2020-12-04T23:27:22
|
|
replace 'focus_view' output param of view_input with 'view->focussed'
|
|
4010e238
|
2020-12-04T23:27:05
|
|
make tog call pledge(2) directly in main() instead of per-command
All of tog's pledges are currently the same, and they must be the same
because tog allows switching between available command views at run-time.
ok tracey
|
|
41ad2652
|
2020-12-04T20:27:43
|
|
remove unused function got_path_get_absolute(); realpath(3) is usually better
|