got


Log

Author Commit Date CI Message
Stefan Sperling b93c7142 2021-10-01T06:22:27 add histedit -e option which runs the 'edit' script command for every commit ok jrick
Stefan Sperling fa161f0b 2021-09-28T21:48:11 update a CAVEAT in got.1 now that 'got merge' exists
Stefan Sperling cd33da48 2021-09-28T21:39:34 interrupt 'got histedit' upon missing/unversioned/not-deleted files
Stefan Sperling 1fa49072 2021-09-28T21:30:53 interrupt 'got rebase' upon missing/unversioned/not-deleted files
Stefan Sperling 606719cd 2021-09-28T21:29:30 document all reasons why 'got merge' might be interrupted
Stefan Sperling c1b05723 2021-09-28T20:56:05 make 'got merge' interrupt the merge upon undeleted and unversioned files
Stefan Sperling 35ca1db7 2021-09-28T20:56:04 print additional stats about things that went wrong during a merge
Stefan Sperling 0ff8d236 2021-09-28T06:59:08 show commit progress output when 'got merge -c' is used Otherwise no progress output is shown at all with this command. Commit progress output will also display any additional changes which resulted from conflict resolution. ok millert@
Christian Weisgerber 321a74a5 2021-09-27T12:17:19 garbage-collect unused "dist" target from subdirectory Makefiles ok stsp
Stefan Sperling 088449d3 2021-09-26T17:51:38 implement 'got merge -n' which interrupts before creating a merge commit
Stefan Sperling 4e91ef15 2021-09-26T17:51:35 make it possible to merge vendor branches with 'got merge'
Stefan Sperling 5c02d2a5 2021-09-26T17:40:10 for portability, handle errno variations upon open(2) failure with O_NOFOLLOW Problem pointed out by naddy for FreeBSD -portable. Discussed with millert, thomas adam, and naddy.
Stefan Sperling f365d762 2021-09-24T20:50:54 stop using the term 'obstructed' ambiguously in the got.1 man page Specifically, obstructed files are versioned files which should be on disk but have been replaced on disk by a non-regular file (e.g. by a directory). The man page used the phrase "deletion was obstructed" which is unrelated to the above concept and can be expressed as "deletion was prevented" instead.
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 f259c4c1 2021-09-24T19:55:02 add a 'got merge' command for creating merge commits Additional testing by Thomas Adam. ok tracey
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 4f3c844b 2021-09-14T16:12:52 make 'got update' display the worktree's branch name upon success ok tracey
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
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 1b796c3f 2021-09-11T08:06:47 fix a null-pointer deref in 'got fetch -d'; reported by Omar Polo
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 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
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
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 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 e1d27370 2021-09-01T11:58:40 Fix ksh completion example to complete the first arg only; from Clint Pachl
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 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@
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 43e4eb1b 2021-08-29T07:28:01 Add got(1) command tab-completion for ksh(1) to EXAMPLES section. Suggested by Clint Pachl, thanks!
Stefan Sperling 27b75514 2021-08-28T10:46:51 do not send a pack file when 'got send' is only deleting branches The git protocol spec says the client MUST NOT send a pack file if the only command used is 'delete'. Fixes 'got send -d' against Github's server which closed the session upon receiving the empty pack file we sent. This problem wasn't caught by regression tests since git-daemon does accept an empty pack file. Problem reported by jrick.
Stefan Sperling 2f1457c6 2021-08-27T16:48:53 allow deletion of refs/remotes/ branches with got branch -d Also, make requirements for branch name arguments more flexible. Absolute reference names are now accepted. ok naddy@
Stefan Sperling a099809f 2021-08-27T07:44:17 more manual page updates following the introduction of 'got send'
Stefan Sperling 93a300b2 2021-08-26T21:50:10 small man page spelling fixes
Stefan Sperling fd44090b 2021-08-26T19:53:20 tweak the man page section about 'got send' In particular, attempt to describe the -f option better.
Stefan Sperling f8a36e22 2021-08-26T12:30:42 add 'got send' command for sending changes to remote repositories Known to work against git-daemon and github Git server implementations. Tests by abieber, naddy, jrick, and myself. Man page additions reviewed by Lucas.
Stefan Sperling aa8b5dd0 2021-08-01T12:59:32 fix a use-after-free in get_changed_paths() in got and tog Once the parent commit is closed the tree_id1 pointer is no longer valid, but the pointer was still being used. Make a deep copy to fix this issue.
Stefan Sperling 161728eb 2021-07-24T09:08:52 add 'got fetch -X' option for deleting references created by 'got fetch'
Stefan Sperling da630daa 2021-07-16T11:30:37 make got_ref_delete() report symbolic references as intended
Stefan Sperling 90830082 2021-07-16T11:28:01 in delete_ref(), only print progress output after deletion has succeeded
Stefan Sperling f9d54ee6 2021-07-16T11:13:12 align messages printed by 'got fetch -d' with 'got ref -d' and -X options
Stefan Sperling 993f033b 2021-07-16T11:07:29 make 'got ref -d' print reference name and value like the new -X options do
Stefan Sperling 643b85bc 2021-07-16T10:47:10 new -X option for removing backups created by got rebase and got histedit ok semarie
Stefan Sperling ff56836b 2021-07-08T10:30:10 Make 'got add' always require the -I option in order to add ignored files.
Stefan Sperling e6786710 2021-07-03T22:08:15 mention 'gotadmin cleanup' wherever Git's garbage collector is mentioned
Stefan Sperling 7e36bc2b 2021-06-25T09:23:51 move todo items from got.1 caveats to gotadmin.1 as appropriate
Stefan Sperling edeec58d 2021-06-25T09:22:59 remove a todo item from got.1 caveats; 'gotadmin pack' can pack repositories
Christian Weisgerber dbdddfee 2021-06-23T20:48:35 switch from SIMPLEQ to equivalent STAILQ macros The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp
Stefan Sperling 3217be6d 2021-06-22T20:03:59 in got.1, add -I to the synopsis line of the status command
Stefan Sperling f6343036 2021-06-22T20:00:44 new -I option for 'got status' to show files which match an ignore pattern
Stefan Sperling 1d0f4054 2021-06-17T08:56:43 check for close(2) error in got_repo_close() and propagate errors up ok tracey
Stefan Sperling 91c82228 2021-04-18T11:50:01 got.1: make double-quotes appear in the rendered man page as intended Patch by Nam Nguyen
Stefan Sperling 6c19a3dc 2021-04-10T13:37:59 add missing comma in SEE ALSO section of git-repository(5)
Stefan Sperling 0a79feb1 2021-04-10T13:35:23 Xr gotadmin(1)
Klemens Nanni 1795b260 2021-04-02T23:31:08 Fix "mandoc -T lint" WARNINGS and ERRORS, add missing word
Klemens Nanni 1a1242a9 2021-04-01T19:28:57 diff: reduce duplicate code Condense error checking to reduce a future diff moving those lines around; this pattern is already used in other parts of the tree. fine stsp ok tracey
Stefan Sperling 9e822917 2021-03-23T11:39:17 rebase/histedit -l: error out if no backups for the requested branch exist
Stefan Sperling e3199de8 2021-03-21T19:09:35 fix strftime return value check; found by jrick
Stefan Sperling e600f124 2021-03-21T19:09:35 ensure that old commits remain referenced after rebase and histedit Create automatic "backup" references which ensure that objects from the pre-rebase or pre-histedit state remain in the repository. A new -l option for 'got rebase' and 'got histedit' lists old commits. This makes it easier to recover from botched rebase or histedit operations. Removal of such objects currently requires got ref -d and git-gc. This will be made more convenient in the future. testing and ok jrick
Stefan Sperling 601aba22 2021-03-21T19:08:46 improve got ref -d documentation: mention that objects won't be deleted ok jrick
Josh Rickmar ec6d1a36 2021-03-21T18:49:57 Fix strftime(3) short buffer checks strftime(3) returns 0 if the buffer was too short to write the complete string (including NUL) and will never return more than maxsize-1. ok stsp
Josh Rickmar 4e20a648 2021-03-21T16:39:29 Clarify log -x is inclusive ok stsp
Stefan Sperling 34d4e04c 2021-02-08T13:52:37 include remote branches in the output of 'got branch -l' This makes it easier to discover the existence of copies of remote branches in the local repository, and fixes a missing asterisk in 'got branch -l' while the work tree is switched to a remote branch. Prompted by feedback from helg, thanks!
Christian Weisgerber 8ea5c997 2021-02-07T20:55:39 got info: fix a pasto in an error message
Stefan Sperling df3ed485 2021-01-31T11:57:10 simplify the error message shown when 'got rebase' has nothing to do
Stefan Sperling 28cf319f 2021-01-28T17:06:22 add 'got commit -F' option to commit with a log message stored in a file To avoid accidents commit -F opens the prepared log message in an editor so it can be reviewed before the commit is created. For non-interactive use the -N option is required in addition to -F. ok millert@
Stefan Sperling a5a46be2 2021-01-27T22:20:52 in 'got clone', allow -l together with -q, for consistency with 'got fetch'
Stefan Sperling 7b4f1fcb 2021-01-27T22:12:42 in got.1 fix a 'got branch' example which used obsolete syntax
Stefan Sperling 56b63ca4 2021-01-22T11:04:47 make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere ok millert, naddy
Stefan Sperling 56d0a753 2021-01-20T21:07:46 let 'got clone' write gitconfig directives that match the generated got.conf
Stefan Sperling 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.
Stefan Sperling 5aa20203 2021-01-05T17:51:49 document that 'got clone -a' sets 'fetch-all-branches' in got.conf(5)
Stefan Sperling 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.
Stefan Sperling 132af4a5 2021-01-05T15:30:44 store all branches passed via 'got clone -b' in got.conf(5) and git-config(1)
Stefan Sperling 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).
Stefan Sperling 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.
Stefan Sperling 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.
Stefan Sperling d9dff0e5 2020-12-26T21:32:01 switch reflist to TAILQ; insert elements more efficiently for sorted input ok naddy
Stefan Sperling 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
Stefan Sperling cc63216e 2020-12-26T12:23:23 update got.1 CAVEATS section; prompted by feedback from otto@
Stefan Sperling 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/
Stefan Sperling 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@
Stefan Sperling 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
Stefan Sperling b3805337 2020-12-13T11:40:10 histedit -f conflicts with -F option Also fixed as part of a different patch from jrick ok jrick
Stefan Sperling 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
Stefan Sperling 9f6bb280 2020-12-11T11:41:43 remove redundant explanation of histedit -f and -m options from got.1
Stefan Sperling b54435ba 2020-12-11T01:19:21 fix typo in got.1: "only if" -> "if only"; pointed out by tracey
Stefan Sperling 2a78779e 2020-12-11T01:18:32 document that histedit -f can only be used if starting a histedit operation
Josh Rickmar 466785b9 2020-12-10T23:24:31 add histedit -f flag for folding shortcut "please push it" stsp
Stefan Sperling 64453f7e 2020-11-21T13:35:00 handle binary files in got/tog diff commands; add -a options to force text
Stefan Sperling be659d10 2020-11-18T17:18:23 fix type of filesize output parameter of got_object_blob_dump_to_file()
Stefan Sperling 8fa913ec 2020-11-14T13:19:18 remove now pointless 'check_disk' parameter of got_repo_map_path() suggested by naddy