Log

Author Commit Date CI Message
Stefan Sperling 1acd48bc 2021-09-24T20:47:39 stop caring about obstructed versioned files in 'got merge' Tyring to write a test to cover this case I found that obstructed files are (correctly) detected as local modifications in the work tree. Thus they trigger the pre-condition check for local modications and 'got merge' will not even start to do any work in the presence of obstructed files.
Stefan Sperling 793fcac3 2021-09-24T20:14:09 plug memory leak in got_worktree_merge_in_progress(); spotted by tracey
Stefan Sperling a6a8f8bb 2021-09-24T20:05:26 add a test for 'got merge' which covers a no-op merge situation
Stefan Sperling f259c4c1 2021-09-24T19:55:02 add a 'got merge' command for creating merge commits Additional testing by Thomas Adam. ok tracey
Stefan Sperling 9f98ca05 2021-09-24T19:47:15 show parent commit IDs of merge commits in the tog diff view ok tracey
Stefan Sperling 0e5df984 2021-09-23T18:03:54 update TODO note about HTTP; libtls will more likely be used from dial.c
Stefan Sperling 3af9de88 2021-09-22T13:32:37 fix 'got send' with tree objects which contain symlinks; reported by Omar
Stefan Sperling ad324bf5 2021-09-21T20:27:45 fix histedit_no_op test which was failing randomly A no-op replayed history ends up having exactly the same commit IDs if all commits are created at roughly the same moment in time. There are no content changes involved so if commit timestamps do not differ then commit hashes will be the same. In which case there is no fork in history for 'got histedit -l' to display, yet the test was always expecting a fork in history to be displayed. Update the test to take this issue into account. The test will now pass no matter which result is produced by the histedit operation. Problem found by Lucas who observed that this test was randomly failing. Patch also provided by Lucas.
Stefan Sperling 34c3415f 2021-09-21T20:17:54 update README blurb about 'ssh 127.0.0.1' requirement for regress tests
Stefan Sperling 3da8ef85 2021-09-21T11:05:06 tog: use sched_yield(2) instead of pthread_yield(3) for portability pthread_yield(3) is an optional POSIX 2001 extension while sched_yield(2) is part of POSIX 2008. On OpenBSD they are actually equivalent, albeit not documented as such. Using sched_yield(2) helps the -portable version. Patch by Quentin Rameau
Stefan Sperling 6062e8ea 2021-09-21T10:59:29 tog: document why _XOPEN_SOURCE_EXTENDED is set and don't undefine it
Stefan Sperling ac372b60 2021-09-15T17:11:46 'got status' does not have a -q option; remove it from got.1 synopsis
Stefan Sperling df7dea6e 2021-09-15T17:08:37 add -S option to 'got status' synopsis in got.1 man page
Stefan Sperling 7dd7d39b 2021-09-15T09:59:27 bump version number
Stefan Sperling 4a87b370 2021-09-15T09:55:18 CHANGES for 0.60
Christian Weisgerber 67d7451c 2021-09-15T08:29:53 shell code fixes Escape sequences are not handled by every echo(1), e.g. not on FreeBSD. '?' is a glob character and must be quoted. '!' is not a shell meta character. ok tracey stsp
Stefan Sperling f0fd0aaf 2021-09-14T19:21:59 make 'got send' regression tests run 'git fsck' on all involved repositories
Stefan Sperling c2105d00 2021-09-14T19:02:10 fix another instance of 'got send' sending branches the server already has
Stefan Sperling 13364f2d 2021-09-14T17:39:21 bump version number
Stefan Sperling 47975383 2021-09-14T17:27:43 CHANGES for 0.59
Stefan Sperling e3a46353 2021-09-14T16:37:50 verify that 'got status -s' and 'got status -S' cannot be used together
Stefan Sperling 4f3c844b 2021-09-14T16:12:52 make 'got update' display the worktree's branch name upon success ok tracey
Tracey Emery 67c65ed7 2021-09-14T15:47:30 add tests for checkout -q, update -q, and status -S. ok stsp
Stefan Sperling 788d4a19 2021-09-14T14:18:59 validate status codes given to 'got status -S'
Stefan Sperling b043307b 2021-09-14T14:15:49 make got status -s and -S options conflict
Stefan Sperling 08e5873e 2021-09-14T14:05:27 make 'got checkout' display the checked out reference and commit ID ok tracey
Tracey Emery 00357e4d 2021-09-14T13:49:46 add suppress status-code selection to got status. this allows for a quick way to clean output without the use of ignore files. ok stsp
Stefan Sperling 26960ff7 2021-09-14T09:52:49 make 'got send' properly send commits which are referenced only by tags Problem reported by Omar Polo.
Tracey Emery 4ad4a1ec 2021-09-13T16:23:12 add -q quiet mode to checkout and update. supressing output keeps the terminal responsive on large repos. ok jrick stsp
Stefan Sperling 824d5f77 2021-09-12T16:33:13 fix copy-pasto: got.conf protocol option takes a 'scheme' argument, not a 'path'
Stefan Sperling d33b6dd1 2021-09-11T13:50:57 bump version number
Stefan Sperling fec556bc 2021-09-11T13:44:55 CHANGES for 0.58
Stefan Sperling 0968089c 2021-09-11T13:44:36 sync dist file list
Stefan Sperling 1b796c3f 2021-09-11T08:06:47 fix a null-pointer deref in 'got fetch -d'; reported by Omar Polo
Stefan Sperling 678d8c1f 2021-09-10T20:55:39 fix name of temporary directory used by test_fetch_delete_remote_refs
Stefan Sperling 9b21d88f 2021-09-06T13:27:08 remove obsolete sentence from got_dial_parse_uri() docs
Christian Weisgerber 8a8621c2 2021-09-06T12:53:51 add missing <sys/types.h> include
Stefan Sperling 13b2084e 2021-09-06T11:24:44 make 'gotadmin info' display separate send/fetch URLs if they differ
Stefan Sperling 76b9ee43 2021-09-06T10:55:54 mention where the 'proto' parameter of got_dial_apply_unveil() comes from
Stefan Sperling cbf435dd 2021-09-06T10:53:46 fix documentation of got_dial_apply_unveil()
Stefan Sperling a5a30f30 2021-09-06T10:52:02 document functions declared in the public got_dial.h header file
Stefan Sperling baf82978 2021-09-06T10:51:30 remove declaration of got_fetch_parse_uri()
Stefan Sperling 2e601464 2021-09-06T10:49:29 fix regress/fetch build; broken by my renaming of got_fetch_parse_uri()
Christian Weisgerber c10270f6 2021-09-06T08:45:22 assert against accidentally overflowing argv[] in got_dial_ssh() ok stsp
Stefan Sperling 5e5da8c4 2021-09-05T20:51:29 rename got_fetch_parse_uri() to got_dial_parse_uri() This function is now being used by both 'got fetch' and 'got send' so its former name was misleading.
Stefan Sperling 77d7d3bb 2021-09-05T20:39:50 de-duplicate a constant used by both 'got fetch' and 'got send' Both GOT_FETCH_PKTMAX and GOT_SEND_PKTMAX had the same value. Declare this value as GOT_PKT_MAX in got_lib_pkt.h instead.
Stefan Sperling d65a88a2 2021-09-05T20:19:14 move duplicated dial_ssh() and dial_git() functions into a common file These functions are used by 'got send' and 'got fetch' in order to open network connections to a server. Move them into new file lib/dial.c and declare relevant functions in got_dial.h and lib/got_lib_dial.h. No functional change.
Christian Weisgerber abc59930 2021-09-05T19:41:03 indentation fixes
Stefan Sperling e33e440b 2021-09-05T14:34:59 whitespace fix
Stefan Sperling bd3d9e54 2021-09-05T14:21:02 move more code used by got-send-pack and got-fetch-pack to a common file Move functions and data structures which implement Git protocol features required for fetching and sending pack files to new files lib/gitproto.c and lib/got_lib_gitproto.h. This code was duplicated in got-fetch-pack and got-send-pack. No functional change.
Stefan Sperling f024663d 2021-09-05T13:50:39 move pkt code used by got-fetch-pack and got-send-pack to a common file The Git protocol uses a simple packet framing format. The got-fetch-pack and got-send-pack programs contained identical copies of functions to support this format. Move related functions to new file lib/pkt.c and link both programs against this common implementation. No functional change.
Christian Weisgerber f3bc9f1d 2021-09-05T13:10:13 tog: when jumping to the bottom of the log view, go from the tail backwards ok jasper
Christian Weisgerber 978a28a1 2021-09-04T16:22:38 make "got branch -d" print reference name and value Also silence output of "got branch -d" in a regression test, from stsp. ok stsp
Christian Weisgerber ea66598a 2021-09-03T21:41:22 tog: jump directly to first log item instead of traversing the list ok tracey
Christian Weisgerber e4526bf5 2021-09-03T21:40:14 tog: add support for navigating to first/last line of tree and ref views ok stsp
Stefan Sperling 376d7c62 2021-09-03T11:11:39 bump version number
Stefan Sperling 49213cad 2021-09-03T10:51:36 changes for 0.57
Stefan Sperling eca70f98 2021-09-03T09:51:31 fix 'got send' adding too many objects to the pack file in some cases Load server-side tags before loading local commits. Otherwise objects which are reachable via server-side tags will not be filtered out.
Stefan Sperling 0baddd91 2021-09-03T09:11:36 add test which covers a cherrypick merge from a branch to itself
Stefan Sperling ed99f061 2021-09-03T09:02:06 add a test case which covers 'got cherrypick' in a mixed-commit work tree
Stefan Sperling 69de9dd4 2021-09-03T09:02:06 limit checks for merge conflicts to files affected by the merge Performance problems reported by naddy
Christian Weisgerber 6435d2a6 2021-09-02T21:43:35 sys/param.h is not needed
Stefan Sperling 5546d466 2021-09-02T19:39:14 plug a memory leak in check_merge_ok()
Stefan Sperling a16d97bd 2021-09-02T19:19:49 remove ancestry sanity checks from 'got cherrypick' and 'got backout' While these checks might catch usage mistakes the performance overhead of scanning the entire history of the current branch is not worth it. Measurements provided by naddy, cherrypicking 5 commits of OpenBSD's src repository in usr.bin/rsync: Before: 5m50.33s real 4m02.36s user 2m04.41s system After: 1m04.92s real 0m28.24s user 0m36.54s system Further performance improvements could be needed but this is a first step.
Stefan Sperling 243a13f5 2021-09-02T19:13:50 fix bogus error when 'got cherrypick' merges changes into a locally added file reported by + ok naddy
Christian Weisgerber 4deef56f 2021-09-02T17:40:11 tog: add support for navigating to first/last line of blame view ok tracey stsp
Stefan Sperling 6c13b005 2021-09-02T13:57:34 Update comment regarding the merged_paths list used by rebase and histedit with insight I obtained while trying to make this idea work, and failing...
Stefan Sperling dae2a678 2021-09-01T20:31:46 backout 7280143edc2d689b1f57d5a46d376e48cdae64a2; not needed after all
Stefan Sperling 0e33f8e0 2021-09-01T14:34:33 disable ignore lists during status walks used by rebase and histedit Fixes rebase of gotwebd branch which added a new directory which is also matched by .gitignore rules on the branch.
Stefan Sperling 4c662b1d 2021-09-01T13:44:53 fix test data directory name used by test_histedit_fold_add_delete
Stefan Sperling e1d27370 2021-09-01T11:58:40 Fix ksh completion example to complete the first arg only; from Clint Pachl
Stefan Sperling 7280143e 2021-09-01T11:56:31 refactor collect_commitables() to make it easier to call from elsewhere later
Stefan Sperling eac1df47 2021-09-01T11:06:42 make 'got send' heed the branch {} options in got.conf(5); they were ignored ok naddy
Christian Weisgerber 3a6b8760 2021-08-31T19:18:37 use the POSIX-compliant "date -u" command to return UTC time; ok stsp
Christian Weisgerber dc8256b6 2021-08-31T19:18:37 "got blame" now shows UTC dates, adapt regression test; ok stsp
Stefan Sperling c2d7bc3f 2021-08-31T19:11:16 remove superfluous strdup(3) from parse.y files; Patch by Martin Vahlensieck
Stefan Sperling 2cf9e3ff 2021-08-30T20:29:52 bump version number
Stefan Sperling ce0c9cde 2021-08-30T20:01:27 CHANGES for 0.56
Stefan Sperling 0d64986a 2021-08-30T19:53:57 sync dist file list
Stefan Sperling 1dd93b2a 2021-08-30T19:52:03 use more precise wording to describe why End/G commit loading can be slow
Stefan Sperling 9ebbe6e1 2021-08-30T19:48:14 Mention Backspace key in the section which introduces the End/G keys, too.
Stefan Sperling 528dedf3 2021-08-30T19:46:56 make tog block other keys except Backspace after End/G is pressed This should avoid unexpected behaviour resulting from unrelated key presses messing with the log view's state variables. Pointed out by tracey, and also discussed with jasper. ok tracey
Jasper Lievisse Adriaanse 26f0cb24 2021-08-30T21:38:25 sync tog.1 after fb280deb with respect to the Backspace key description ok stsp
Christian Weisgerber 00f6361c 2021-08-30T19:12:04 remove the 'ctrl+u' shortcut in favor of just 'g' in the diff view, too
Stefan Sperling 75149077 2021-08-30T19:07:58 make tog ignore Ctrl+L and B while loading all commits Otherwise tog gets into a funky non-recoverable state if these keys are pressed instead of Backspace while commits are loading. bug found by + ok tracey
Stefan Sperling 27890b18 2021-08-30T18:54:51 remove the 'ctrl+u' shortcut in favour of just 'g' as alias for 'Home' Our use of ctrl+u was not consistent with vi(1) after all. Discussed with naddy, tb, and jasper on gameoftrees@
Stefan Sperling fb280deb 2021-08-30T18:48:21 Allow commit loading trigged by the End/G keys to be cancelled with Backspace. ok jasper
Christian Weisgerber 93f8a337 2021-08-30T16:34:04 tweak implementation of separate send {} and fetch {} conf blocks Tweak man page. Factor out repeated code in if/else branches in send_gotconfig_remotes(). ok stsp@
Tracey Emery f08eaca0 2021-08-30T15:59:11 reintroduce allowing empty fetch and send blocks with correct grammar. ok stsp@
Jasper Lievisse Adriaanse 912a3f79 2021-08-30T17:49:33 tog: add support for navigating to first/last item of log and diff views The keybindings that we settled on are Home, Ctrl-u and g to go to the first item and End, G to go to the last. This resembles those commonly found elsewhere, eg vi/less. discussed with and ok stsp
Stefan Sperling 6480c871 2021-08-30T15:51:23 provide separate send {} and fetch {} configuration blocks in got.conf Feature requested by naddy. ok naddy, who also suggested some tweaks that will arrive shortly
Stefan Sperling e385fc42 2021-08-30T15:48:05 use gmtime_r(3) instead of localtime_r(3) to display time in UTC as intended Problem noticed by naddy due to failing regress tests at midnight, and then analyzed with additional help from millert. ok naddy
Stefan Sperling 92952c0e 2021-08-30T12:33:22 stop allowing empty send {} or fetch {} blocks; yacc complained about grammar yacc has been complaining about "shift/reduce conflicts" since commit 16c4be8c1cab9456f9dd0468c27f8ab73235737e Revert that change for now. Not sure how it can be done properly. In any case, allowing empty config blocks is not very important.
Stefan Sperling 7c84ef07 2021-08-29T19:50:57 reject port number zero
Stefan Sperling f1cacac7 2021-08-29T17:07:49 validate non-optional settings in send {} and fetch {} config blocks.
Stefan Sperling aaf30ee7 2021-08-29T17:07:24 rename variables to avoid too much repetition of the term 'repo'
Stefan Sperling 5de743f8 2021-08-29T13:15:27 fix seek to incorrect offset in the delta base when creating deltas The stretchblk() function needs to compare data located after the block which has just been matched. However, upon entry it was resetting the file pointer of the delta base to the beginning(!) of the block. The other file is correctly positioned after the block. In many cases the data won't match and stretchblk() will not stretch the matched block. But when the data did happen to match this resulted in a bogus delta, and wrong file contents when the delta was applied. Fix this by setting the delta base file pointer to end of the block. Problem reported by naddy after our server refused a pack file which was sent by 'got send'. I could reproduce the issue by running the 'gotadmin pack' command on a copy of naddy's repository. ok naddy
Christian Weisgerber 535e07c7 2021-08-29T13:09:21 make realloc_ids() malloc-like and do not overallocate Let realloc_ids() take as argument the number of entries to allocate. Do not allocate an extra chunk. ok stsp
Christian Weisgerber a9662115 2021-08-29T13:01:47 add missing "return 1" to failure handling in the regress scripts ok stsp@
Christian Weisgerber 8f2a2f4f 2021-08-29T11:51:43 drop realloc_ids() initialization calls, one of which had a typo realloc_ids() is called again in the loops that assign to the ID arrays, before the first assignment. ok stsp