|
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
|
|
dbb02f4d
|
2020-12-04T20:23:06
|
|
in got_repo_open(), let realpath(3) take care of relative paths
|
|
9970f7fc
|
2020-12-03T23:23:30
|
|
replace dead_view pointer in view_loop() with 'dying' flag in struct tog_view
ok naddy
|
|
72a9cb46
|
2020-12-03T22:13:20
|
|
tog's view_set_child() never returned an error; simplify accordingly
ok naddy
|
|
acdafe9c
|
2020-12-03T19:25:08
|
|
remove redundant "child_focussed" variable from struct tog_view
ok naddy
|
|
0bf7f153
|
2020-12-02T14:30:34
|
|
tog's log view needs to request more commits when the window expands
ok stsp
|
|
3e135950
|
2020-12-01T23:50:40
|
|
pass only the view state to scroll functions that don't need the full view
ok stsp
|
|
42a2230c
|
2020-12-01T22:54:25
|
|
reverse tree_view_visit_subtree() parameters for consistency
ok stsp
|
|
d91faf3b
|
2020-12-01T22:53:48
|
|
trim repo parameter from tree_view_walk_path(), already set by open_tree_view()
ok stsp
|
|
d86d3b18
|
2020-12-01T22:52:56
|
|
trim redundant and used parameters from draw_tree_entries()
ok stsp
|
|
4f7c3e5e
|
2020-12-01T22:52:18
|
|
trim redundant parameters from draw_blame()
ok stsp
|
|
89f1a395
|
2020-12-01T22:51:37
|
|
trim redundant parameters from draw_file()
ok stsp
|
|
8fdc79fe
|
2020-12-01T22:50:35
|
|
trim redundant and unused parameters from draw_commits() and draw_commit()
ok stsp
|
|
a5388363
|
2020-12-01T22:06:20
|
|
trim redundant and unused parameters from run_blame()
ok stsp
|
|
ffe38506
|
2020-12-01T22:05:10
|
|
trim redundant parameters from log_scroll_* and trigger_log_thread functions
Also rename scroll_{up,down} to log_scroll_{up,down}; requested by stsp.
ok stsp
|
|
694d3271
|
2020-12-01T14:53:55
|
|
trim redundant parameters from {ref,tree}_scroll_{up,down} functions
Pass only the view and scroll amount to these functions; remove
unused parameters and those that are contained in the view state.
ok stsp
|
|
34ba6917
|
2020-11-30T00:13:22
|
|
fix page-up/down in 'tog ref' view; ok naddy
|
|
fa86c4bf
|
2020-11-29T21:53:49
|
|
fix page-down/page-up scrolling in the tog tree view
problem reported by, fixed with lots of help from, and ok naddy
|
|
152c1c93
|
2020-11-29T14:21:55
|
|
tog: make it possible to open a ref view from the tree view
|
|
5e9266f9
|
2020-11-28T18:35:49
|
|
fix a typo that triggered "munmap: Invalid argument" in got blame on FreeBSD
ok stsp
|
|
578133c9
|
2020-11-28T18:28:10
|
|
replace echo with printf, stop option processing with "--" for portability
ok stsp
|
|
9a1d5146
|
2020-11-27T15:46:36
|
|
fix entry selection when moving to the parent in tog's tree view
The tree view attempts to keep the scroll position of an already
visited parent directory intact. If we start out by viewing a subtree
and then move up, the scroll position of the parent isn't actually
available since the parent tree was never nagivated by the user.
In this case tree_view_walk_path() has to fill in some values.
The only parent entry we know about in this case is the one which
was traversed to reach the child. The best we can do is to lock the
parent's scroll position such that the traversed child entry appears
at the top of the list if moving up to the parent's view. If we
then navigate down again and return, the parent's scroll position
will start to be retained and restored properly.
Analysis and draft patch by stsp, initial report and simpler fix
by yours truly.
ok stsp
|
|
16aeacf7
|
2020-11-26T12:54:19
|
|
use size_t for loop indices to avoid signedness warnings; from emaste@freebsd
|
|
e99e2d15
|
2020-11-24T22:38:29
|
|
let tog's tree and ref commands call their own usage() and not each other's
|
|
c42c9805
|
2020-11-24T22:17:55
|
|
support opening a tree view from the ref view; requested by naddy
|
|
f2f6d207
|
2020-11-24T22:17:54
|
|
trigger log thread if a log view is opened as a child view; found by naddy
|
|
a1b77402
|
2020-11-24T22:17:54
|
|
fix calls to ref_usage(); found by naddy
|
|
38cb327b
|
2020-11-24T22:17:54
|
|
document tog ref
|
|
6458efa5
|
2020-11-24T22:17:54
|
|
initial 'tog ref' implementation
ok naddy tracey
|
|
78756c87
|
2020-11-24T21:25:40
|
|
store reflists in view state where required and get rid of reflist pointers
ok tracey naddy
|
|
3dbaef42
|
2020-11-24T15:52:41
|
|
make 'tog diff' accept reference and tag arguments; add -w and -C options
ok naddy tracey
|
|
9c659ea0
|
2020-11-22T13:25:32
|
|
do not forget to add an offset for line zero in diff_blobs()
Fixes a problem in 'tog diff' where the first line of the output was cut off.
|
|
22c0f09d
|
2020-11-22T11:20:52
|
|
repair gotweb build after diff api changes
|
|
763f29f6
|
2020-11-22T01:51:29
|
|
remove redundant lines of code from close_file2_and_reuse_file1()
|
|
751e0afb
|
2020-11-22T01:34:05
|
|
sync files from diff.git 86b603da3068dce115470492279dc6f86f17f60b
|
|
c354056f
|
2020-11-21T15:34:19
|
|
prevent potential fclose(NULL) in error path of diff_blobs()
|
|
1cb46f00
|
2020-11-21T15:34:19
|
|
consistently label removed files as "/dev/null" in diff headers
|
|
c4cd9c5b
|
2020-11-21T15:34:19
|
|
sync files from diff.git e4c510c1d83fe01247b6f59d855dffad81e4f26a
|
|
b4737997
|
2020-11-21T14:53:47
|
|
handle binary files in blame's custom file diff atomizer
|
|
27829c9e
|
2020-11-21T13:41:51
|
|
reset tog diff view's scroll position if diff context shrinks too much
|
|
64453f7e
|
2020-11-21T13:35:00
|
|
handle binary files in got/tog diff commands; add -a options to force text
|
|
b67f3bcb
|
2020-11-21T10:49:25
|
|
sync files from diff.git e51ebd83fa731d197ee4074ee2e94dbc0581078c
|
|
dffd0deb
|
2020-11-20T13:57:55
|
|
add a test for diffing binary files; got diff behaves like 'diff -a'
|
|
8c35ff14
|
2020-11-19T15:37:46
|
|
implement custom atomizer for blame to reuse data and mappings across commits
|