Log

Author Commit Date CI Message
Stefan Sperling f3b2b552 2020-12-10T16:58:11 sync files from diff.git b3fd1fa284e6207b923bd3c887364d9eb93fb340
Yang Zhong c5fdccbf 2020-12-10T08:08:42 fix expected output of test_tree_submodule_of_same_repo for packed repos
Stefan Sperling 9cd7cbd1 2020-12-07T13:13:41 deep-copy reference names in the log and tree views to prevent use-after-free ok naddy
Christian Weisgerber bf30f154 2020-12-07T11:47:20 miscellaneous minor style issues
Stefan Sperling ca51c541 2020-12-07T01:03:40 reload references when the log view is restarted with Ctrl-L
Stefan Sperling 01ca22b1 2020-12-07T00:56:26 in tog.1, consistently mark up command names of views with .Cm
Stefan Sperling 21920d7e 2020-12-07T00:49:27 in tog.1, sync the synopsis of 'tog diff' to include all supported options
Christian Weisgerber 4e0d2870 2020-12-07T00:23:33 pass the thread_args struct to queue_commits() and trim the parameter list ok stsp
Stefan Sperling 1e1ff4ed 2020-12-07T00:06:56 move the tree view's selection cursor up if the terminal shrinks too much ok naddy
Stefan Sperling 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
Stefan Sperling cdfcfb03 2020-12-06T22:50:34 send resize events to tog child views as well as parent views problem found by naddy ok naddy
Stefan Sperling 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
Stefan Sperling 486cd271 2020-12-06T20:12:42 plug leak of ref in cmd_tree(); found by naddy
Stefan Sperling 4e97c21c 2020-12-06T20:12:42 make tog tree view keep track of branches/tags specified via -c ok naddy
Stefan Sperling 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
Stefan Sperling 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
Stefan Sperling 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.
Stefan Sperling 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
Christian Weisgerber 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
Stefan Sperling ee756517 2020-12-05T13:12:32 pass reference name along when a log view is opened from a ref view ok naddy
Stefan Sperling e78dc838 2020-12-04T23:27:22 replace 'focus_view' output param of view_input with 'view->focussed'
Stefan Sperling 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
Stefan Sperling 41ad2652 2020-12-04T20:27:43 remove unused function got_path_get_absolute(); realpath(3) is usually better
Stefan Sperling dbb02f4d 2020-12-04T20:23:06 in got_repo_open(), let realpath(3) take care of relative paths
Stefan Sperling 9970f7fc 2020-12-03T23:23:30 replace dead_view pointer in view_loop() with 'dying' flag in struct tog_view ok naddy
Stefan Sperling 72a9cb46 2020-12-03T22:13:20 tog's view_set_child() never returned an error; simplify accordingly ok naddy
Stefan Sperling acdafe9c 2020-12-03T19:25:08 remove redundant "child_focussed" variable from struct tog_view ok naddy
Christian Weisgerber 0bf7f153 2020-12-02T14:30:34 tog's log view needs to request more commits when the window expands ok stsp
Christian Weisgerber 3e135950 2020-12-01T23:50:40 pass only the view state to scroll functions that don't need the full view ok stsp
Christian Weisgerber 42a2230c 2020-12-01T22:54:25 reverse tree_view_visit_subtree() parameters for consistency ok stsp
Christian Weisgerber d91faf3b 2020-12-01T22:53:48 trim repo parameter from tree_view_walk_path(), already set by open_tree_view() ok stsp
Christian Weisgerber d86d3b18 2020-12-01T22:52:56 trim redundant and used parameters from draw_tree_entries() ok stsp
Christian Weisgerber 4f7c3e5e 2020-12-01T22:52:18 trim redundant parameters from draw_blame() ok stsp
Christian Weisgerber 89f1a395 2020-12-01T22:51:37 trim redundant parameters from draw_file() ok stsp
Christian Weisgerber 8fdc79fe 2020-12-01T22:50:35 trim redundant and unused parameters from draw_commits() and draw_commit() ok stsp
Christian Weisgerber a5388363 2020-12-01T22:06:20 trim redundant and unused parameters from run_blame() ok stsp
Christian Weisgerber 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
Christian Weisgerber 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
Stefan Sperling 34ba6917 2020-11-30T00:13:22 fix page-up/down in 'tog ref' view; ok naddy
Stefan Sperling 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
Stefan Sperling 152c1c93 2020-11-29T14:21:55 tog: make it possible to open a ref view from the tree view
Christian Weisgerber 5e9266f9 2020-11-28T18:35:49 fix a typo that triggered "munmap: Invalid argument" in got blame on FreeBSD ok stsp
Christian Weisgerber 578133c9 2020-11-28T18:28:10 replace echo with printf, stop option processing with "--" for portability ok stsp
Christian Weisgerber 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
Stefan Sperling 16aeacf7 2020-11-26T12:54:19 use size_t for loop indices to avoid signedness warnings; from emaste@freebsd
Christian Weisgerber e99e2d15 2020-11-24T22:38:29 let tog's tree and ref commands call their own usage() and not each other's
Stefan Sperling c42c9805 2020-11-24T22:17:55 support opening a tree view from the ref view; requested by naddy
Stefan Sperling f2f6d207 2020-11-24T22:17:54 trigger log thread if a log view is opened as a child view; found by naddy
Stefan Sperling a1b77402 2020-11-24T22:17:54 fix calls to ref_usage(); found by naddy
Stefan Sperling 38cb327b 2020-11-24T22:17:54 document tog ref
Stefan Sperling 6458efa5 2020-11-24T22:17:54 initial 'tog ref' implementation ok naddy tracey
Stefan Sperling 78756c87 2020-11-24T21:25:40 store reflists in view state where required and get rid of reflist pointers ok tracey naddy
Stefan Sperling 3dbaef42 2020-11-24T15:52:41 make 'tog diff' accept reference and tag arguments; add -w and -C options ok naddy tracey
Stefan Sperling 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.
Stefan Sperling 22c0f09d 2020-11-22T11:20:52 repair gotweb build after diff api changes
Stefan Sperling 763f29f6 2020-11-22T01:51:29 remove redundant lines of code from close_file2_and_reuse_file1()
Stefan Sperling 751e0afb 2020-11-22T01:34:05 sync files from diff.git 86b603da3068dce115470492279dc6f86f17f60b
Stefan Sperling c354056f 2020-11-21T15:34:19 prevent potential fclose(NULL) in error path of diff_blobs()
Stefan Sperling 1cb46f00 2020-11-21T15:34:19 consistently label removed files as "/dev/null" in diff headers
Stefan Sperling c4cd9c5b 2020-11-21T15:34:19 sync files from diff.git e4c510c1d83fe01247b6f59d855dffad81e4f26a
Stefan Sperling b4737997 2020-11-21T14:53:47 handle binary files in blame's custom file diff atomizer
Stefan Sperling 27829c9e 2020-11-21T13:41:51 reset tog diff view's scroll position if diff context shrinks too much
Stefan Sperling 64453f7e 2020-11-21T13:35:00 handle binary files in got/tog diff commands; add -a options to force text
Stefan Sperling b67f3bcb 2020-11-21T10:49:25 sync files from diff.git e51ebd83fa731d197ee4074ee2e94dbc0581078c
Stefan Sperling dffd0deb 2020-11-20T13:57:55 add a test for diffing binary files; got diff behaves like 'diff -a'
Stefan Sperling 8c35ff14 2020-11-19T15:37:46 implement custom atomizer for blame to reuse data and mappings across commits
Stefan Sperling 89dc8b78 2020-11-19T15:37:20 remove stdbool.h where it's not needed
Stefan Sperling be659d10 2020-11-18T17:18:23 fix type of filesize output parameter of got_object_blob_dump_to_file()
Stefan Sperling c33ebc60 2020-11-18T17:05:28 reallocate line_offsets array less often in got_object_blob_dump_to_file()
Stefan Sperling cca5682e 2020-11-18T16:34:28 allow for configuring a custom file atomizer with got_diff_get_config()
Stefan Sperling 24e87ea3 2020-11-18T16:15:41 remove unused function got_diffreg_prepared_files()
Stefan Sperling cb7c1b68 2020-11-18T16:14:30 remove unused function got_diff_blob_prepared_file()
Stefan Sperling 72254787 2020-11-18T16:12:35 simply got_diff_prepare_file() by letting callers worry about file creation
Stefan Sperling dea26038 2020-11-18T14:24:16 sync files from diff.git 29916bb6c0c248ca6fa5486cb9e081d92112e86c
Stefan Sperling c27a5e66 2020-11-18T13:48:26 new blame algorithm which compares commit N-1 to N; with help from Neels
Stefan Sperling f1cbc3bc 2020-11-18T13:48:23 decouple line_offsets/nlines output params of got_object_blob_dump_to_file()
Stefan Sperling 62ad13c5 2020-11-16T20:55:57 remove unused empty function got_diff_dump_change()
Stefan Sperling 1b99d152 2020-11-16T20:53:10 update TODO notes
Stefan Sperling 8b4e047e 2020-11-15T12:08:45 fix gotweb build; should have been part of 8fa913ec
Christian Weisgerber f3c44083 2020-11-14T16:39:35 sync files from diff.git fe6d58fb52ea8d1041a8eb65e28a04816df67c08
Stefan Sperling 0e404f95 2020-11-14T13:24:10 typo fix in tog.1 man page
Stefan Sperling 8fa913ec 2020-11-14T13:19:18 remove now pointless 'check_disk' parameter of got_repo_map_path() suggested by naddy
Stefan Sperling bfd61697 2020-11-14T13:11:34 make tog avoid got_repo_map_path() if a work tree is available ok naddy
Christian Weisgerber 276b94a1 2020-11-13T21:09:10 Call pthread_cond_destroy(cond) exactly once when closing a view. This moves the pthread_cond_destroy(need_commits) from stop_log_thread(), which can be called twice, to close_log_view(), which is called once. It also destroys the commit_loaded condition variable, which is created in open_log_view() but was never destroyed. ok stsp
Stefan Sperling 41605754 2020-11-12T18:54:38 highlight matched search terms in tog diff and tog blame views ok naddy@
Stefan Sperling c9d2b263 2020-11-11T11:09:51 make gotweb compile with the new diff implementation
Stefan Sperling 135a2da0 2020-11-11T00:35:23 show current/total line numbers in tog's diff view header
Stefan Sperling e54cc94a 2020-11-11T00:34:59 plug two memory leaks in tog's draw_file()
Stefan Sperling fe621944 2020-11-10T22:54:37 merge new diff implementation from the git.gameoftrees.org diff.git repository This new diff implementation was started by Neels Hofmeyr during the u2k20 hackathon and now replaces diffreg.c code lifted from the OpenBSD base system. The integration of this code into Got was done by me. Got now uses the patience diff algorithm by default. The diff.git repository will remain the primary repository for the diff code, which already compiles and runs on other operating systems such as Linux. Any fixes and improvements for files inherited from the diff.git repository should be written against that repository and synced to got.git afterwards.
Stefan Sperling 2bea8602 2020-11-10T22:37:05 bump version number
Stefan Sperling b85f4340 2020-11-10T22:31:37 typo fix in CHANGES
Stefan Sperling cd5a3383 2020-11-10T22:27:50 fix 0.44 release date in CHANGES file
Stefan Sperling 76e818c5 2020-11-10T22:21:10 changes for 0.44
Tracey Emery a5a8a332 2020-11-09T16:53:04 remove unused variable in gotweb.c, patch by Martin Vahlensieck (thanks)
Tracey Emery a03d32e0 2020-11-09T16:46:41 fix on keywork in gotweb parse.y, patch by Martin Vahlensieck (thanks)
Stefan Sperling f6d8c0ac 2020-11-09T16:04:18 fix replacing symlinks with files And add a test case which verifies that the inverse also works, i.e. a symlink being replaced with a regular file. problem reported and fix tested by jrick
Stefan Sperling 63df146d 2020-11-09T16:03:35 fix missing unlink(tmppath) in error cases of install_blob()
Stefan Sperling 2ac8aa02 2020-11-09T16:02:12 clear staged file type in file index entries whenever staged status is cleared
Stefan Sperling 4fedbf4c 2020-11-07T17:59:31 avoid got_repo_map_path() in 'got tree' if a work tree is available Note that got_worktree_resolve_path() will return a path based on the current working directory if the argument is the empty string. This quirk keeps the behaviour of 'got tree' intact which depends on the current working directory if run in a work tree. ok naddy@
Stefan Sperling 9314b9f4 2020-11-06T21:12:26 test case for 'got integrate' failing if symlink changes to file; patch by jrick This test verifies the current behaviour, even though it is not the most desirable behaviour.