got


Log

Author Commit Date CI Message
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
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 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 01740607 2020-11-04T20:18:53 avoid got_repo_map_path() in 'got blame' 'got blame' does not need access to the work tree. So far the work tree was completely hidden with unveil(). We must now expose the work tree while resolving the path, so unveil() calls are shuffled around slightly. Failing realpath() calls would mess with path resolution otherwise. There's a bug in got_worktree_resolve_path() where it failed to canonicalize a path constructed from a user-specified path that does not exist on disk. Note that this path falls into strncmp() a few lines down. I am fixing this by adding canonicalization. Generally, joining paths with asprintf() and comparing paths with strncmp() is fragile. A more general solution might be needed but I am leaving that for another day. ok naddy
Stefan Sperling 7f9bfb31 2020-11-01T22:49:19 replace resolve_commit_arg() helper in got.c with got_repo_match_object_id()
Stefan Sperling 579bd556 2020-10-24T13:18:03 prevent a NULL dereference if 'got log -p' runs against a root commit
Stefan Sperling 603cdeb0 2020-10-22T20:37:50 make 'got log' avoid got_repo_map_path() if run in a work tree ok naddy
Christian Weisgerber 62d463ca 2020-10-20T22:43:59 indentation fixes
Stefan Sperling 54eb00d5 2020-10-20T22:25:57 properly handle nonexistent remote repository names given to 'got fetch' found by jrick ok naddy
Stefan Sperling f0207f6a 2020-10-19T23:14:59 switch to got_path_basename() in cmd_checkout() ok millert
Christian Weisgerber 016859fc 2020-10-02T19:30:50 suggest aggregated pathnames in find(1) example ok stsp
Stefan Sperling 42a285e2 2020-10-01T20:52:12 unveil repositories read-write when adding tags with 'got tag'
Christian Weisgerber 6879ba42 2020-10-01T15:15:22 do not treat the -h and -V flags as errors When run with the -h or -V option, output the help or version text to stdout and exit with success (0). Only write usage and help information to stderr and exit with error (1) if there is a mistake in the command syntax. tweak and ok stsp
Stefan Sperling f535bcd4 2020-09-30T16:38:17 fix 'bad path' error from 'got clone' by unveiling the repository path again Problem found by jrick
Christian Weisgerber 9814e6a3 2020-09-27T14:55:18 prefer the BSD extension to reset getopt over the GNU one Sadly there is no portable way to reset getopt(3). BSD: optind = 1; optreset = 1; GNU: optind = 0; ok stsp
Christian Weisgerber 1367695b 2020-09-26T20:53:13 fix potential type mismatches between format specifiers and arguments Cast printf arguments of type time_t and off_t to long long to match the %lld format specifier on platforms where this might not be the case. In parse.y, switch the number variable to long long because all its interactions are with that type anyway. ok millert stsp
Stefan Sperling bfa12d5e 2020-09-26T18:59:46 rework got's commit-time log message modification check Use a new approach for detecting unchanged log messages: Strip comments and leading/trailing empty lines from both the initial content and the modified log message, then compare the result. Do not assume a fixed upper limit for the length of a line. Change suggested and patch tested by jrick typo fix + ok naddy
Stefan Sperling 820059fa 2020-09-25T22:49:42 whitespace fixes (patch by jrick)
Stefan Sperling b8adfa55 2020-09-25T21:35:10 add "branch" keyword to got.conf which specifies a list of branches to fetch ok tracey
Stefan Sperling b08a0ccd 2020-09-24T14:39:18 do not pledge 'got integrate' in a PROFILE=1 build found by jrick on freenode
Stefan Sperling 04d9a9ec 2020-09-24T13:45:44 allow an interrupted 'got clone' to be resumed by 'got fetch' Set up config files as soon as possible such that 'got fetch' has enough information in order to resume an interrupted clone operation. We need to receive at least a default HEAD branch name from the server before we can set up our configuration files. The previous code also verified whether the default branch name supplied by the server resolved to a commit received in the pack file. This check cannot be done early but a wrong branch name in a config file can be fixed easily.
Stefan Sperling 7c0b7f42 2020-09-24T11:00:06 refactor code which creates config files for 'got clone' using helper functions
Stefan Sperling a9c2d4c2 2020-09-24T10:53:18 fix default branch name written to Git config file by 'got clone' The generated Git config file instructed Git to fetch all branches rather than the default branch as was intended. Check generated configuration files in all clone tests in order to catch such problems in the future.
Stefan Sperling 2751fe64 2020-09-24T09:16:18 let 'got clone' try to connect to server before creating repository contents
Stefan Sperling 521dbd35 2020-09-22T16:48:28 trim leading slashes from repository path written to got.conf (found by naddy)
Stefan Sperling 48cae60d 2020-09-22T00:03:02 make dangling symbolic references show up in 'got ref -l' Storing a resolved ID for each reference list item was a bad idea. This ID cannot be resolved if a symbolic references points to a reference which does not exist. Such symrefs were skipped by got ref -l as a result. Just let users of reference lists resolve the IDs as needed.
Stefan Sperling c47340da 2020-09-20T00:17:51 in cmd_checkout() handle basename(3) modifying its argument ok naddy@
Stefan Sperling 72862ecf 2020-09-16T12:04:07 add missing space in got-worktree(5) synopsis
Christian Weisgerber 0429cd76 2020-09-15T19:09:36 fix typo in error message
Stefan Sperling 934b035c 2020-09-15T09:56:52 expand "Got" to "Game of Trees" in got-worktree(5) synopsis line for consistency
Stefan Sperling 5b735925 2020-09-15T09:52:03 document our default choice of text editor; suggested by Ricky Cintron
Stefan Sperling 0f43fed9 2020-09-14T14:05:11 add got.conf(5) to MAN list in Makefile
Stefan Sperling 53643ae1 2020-09-14T13:51:51 document why got.conf(5) will not configure the editor to use
Stefan Sperling 46215d2a 2020-09-11T18:32:20 add 'got histedit' to got.1's list of commands which use EDITOR/VISUAL
Stefan Sperling 42536c09 2020-09-11T18:31:21 fix misplaced comma in got.conf(5) SEE ALSO section
Stefan Sperling 59f86c76 2020-09-11T17:26:40 plug memory leaks in error paths while collecting log messages
Stefan Sperling 97972933 2020-09-11T17:26:08 check for errors from write(2) and close(2) while collecting log messages
Stefan Sperling 50b0790e 2020-09-11T17:04:57 add per-worktree got.conf(5) file in the .got directory; ok millert
Christian Weisgerber 1601cb9f 2020-09-11T15:09:35 use plain write() in place of dprintf() with a pre-formatted string step-by-step guidance from millert; ok millert stsp
Stefan Sperling 3168e5da 2020-09-10T00:10:55 zap trailing tabs
Stefan Sperling cc8dff2e 2020-09-10T00:07:08 remove unused files; their contents were merged into got-read-gotconfig
Stefan Sperling 257add31 2020-09-09T23:57:40 add got.conf(5) configuration file ok tracey
Stefan Sperling 4dbec0a8 2020-08-27T10:46:17 actually make use of an intermediate variable in cmd_clone() found by tracey's scan-build
Stefan Sperling 766841c2 2020-08-13T19:12:57 add -s option to 'got remove' which deletes files in a particular status This makes it easy to deal with files that were deleted from disk by external tooling which modified the work tree. Such files are left in missing (!) status and can now be marked for deletion in bulk via 'got rm -s\! -R .' For consistency, modified (M) files can now be removed with 'got rm -s M' which implies 'got rm -f'. Prompted by feedback from krw@
Stefan Sperling 081470ac 2020-08-13T19:12:57 add -s option to 'got status' which acts as a status code filter Advantages over using grep are that the list of codes is validated against a list of known status codes, and that it is easier to match staged files which can display status codes in one or both of two columns. Prompted by feedback from krw@
Stefan Sperling d93542d4 2020-08-08T12:09:35 In got-worktree(5), explain how to re-create a corrupt or missing file index.
Stefan Sperling 6d7260fd 2020-08-03T07:56:23 remove remnants of recursive include support from parse.y
Tracey Emery 51b930a3 2020-08-02T16:50:17 clean up those one-liner assignments ok stsp
Stefan Sperling 9e6e8e60 2020-08-02T16:38:51 got parse.y tweaks Rename things to better match their intended purpose. Tweak namespacing. Add a function for freeing config items that are dynamically allocated. Add 'struct gotconfig' to make room for potential global settings we might want to add later, instead of implementing just a list of remote repositories. ok tracey
Stefan Sperling 502b9684 2020-07-31T15:36:42 make 'got log' -R and -P options work in combination With -R, the -P option did not show any paths. Regression test added here demonstrates the problem.
Stefan Sperling b2118c49 2020-07-28T20:17:19 Add a 'got info' command which displays work tree meta-data. Remove the alias 'got in' for 'got init'. The 'in' alias was too close to either 'init' or 'info'. ok tracey, millert
Stefan Sperling cf07f22b 2020-07-25T16:28:50 improve "got log ." command mark-up in got.1 EXAMPLES
Stefan Sperling af358f55 2020-07-23T16:49:58 tweak description of new -S option for 'got commit' and 'got stage' with input from + ok tracy and millert
Stefan Sperling 35213c7c 2020-07-23T14:22:39 forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
Stefan Sperling 3b9f0f87 2020-07-23T14:22:35 handle additional symlink conflicts and report skipping of unversioned files
Stefan Sperling c90c8ce3 2020-07-23T14:22:35 preserve unversioned files when merging added symlinks
Stefan Sperling 39449a05 2020-07-23T14:21:29 make 'got diff' show changes to symlinks in a work tree
Stefan Sperling eb59b6d4 2020-07-23T14:21:28 show path in error message when blaming a symlink pointing to a directory
Stefan Sperling 0587e10c 2020-07-23T14:21:28 add symlink support to 'got blame' and 'tog blame'
Tracey Emery c34ec417 2020-06-22T17:09:05 restructure gotweb parse.y to be like the new got parse.y correct a lot of incorrect error handling adjust copyrights
Tracey Emery fb863fa4 2020-06-22T15:06:23 get a parser in place for the future inclusion of gotconfig to git repos this is for got push and got fetch, primarily ok stsp
Stefan Sperling bcbc2272 2020-05-20T17:40:57 document how to use commit messages prepared in a file; patch by Scott Bennett
Stefan Sperling 0d6c6ee3 2020-05-20T17:37:29 make 'got/tog tree' show symlink targets like 'ls -lF' does: link@ -> target
Stefan Sperling 5d58be12 2020-05-17T09:49:01 fix 'got tree' usage message; the path argument is optional
Stefan Sperling f4d0e3fb 2020-05-15T09:50:33 shorten the "Updated reference" message printed by 'got fetch'
Stefan Sperling 0208f208 2020-05-05T09:53:57 show a list of paths changed in a commit with 'got log -P', and in tog requested by matthieu@
Stefan Sperling 2e8c69d1 2020-05-04T19:37:36 fix "no such entry found in tree" error with got log -p and an added path ok millert@
Stefan Sperling 4343a07f 2020-04-24T16:33:32 filter out "remote/*/HEAD" references in 'got log' output
Stefan Sperling 50f2fada 2020-04-24T16:22:28 fix 'got log -r' loading refs from the wrong repo if invoked in a work tree ok tracey
Stefan Sperling ef9e2ed7 2020-04-19T10:28:06 fix another typo in git-repository.5
Stefan Sperling 9eba2c58 2020-04-19T10:26:29 spelling fix in git-repository.5
Stefan Sperling bd81cfb7 2020-04-19T08:57:07 clarify wording in got.1 related to local changes/commits/branches
Stefan Sperling f79e6490 2020-04-19T08:24:07 move clone/fetch connection progress messages to a more obvious spot
Stefan Sperling 5e9b18fa 2020-04-19T08:13:58 tweak a 'got fetch' progress message for accuracy
Stefan Sperling e54dde05 2020-04-19T08:12:25 tweak a 'got clone' progress message for accuracy
Stefan Sperling 3d0ac559 2020-04-18T22:22:29 wording tweak in got.1
Stefan Sperling 04e9dcf3 2020-04-18T22:20:57 add an example for log -R to got.1
Stefan Sperling dbec59df 2020-04-18T21:24:54 add 'got log' -R option to reverse commit display order
Stefan Sperling 52ab7958 2020-04-18T21:15:07 tweak documentation of 'got log -x' for accuracy
Stefan Sperling 9627c110 2020-04-18T18:40:01 show a summary of conflicts and related problems after updating/merging files ok millert@
Stefan Sperling 5036ab18 2020-04-18T18:40:00 make 'got update' skip conflicted files ok millert@
Stefan Sperling d1fe46f9 2020-04-18T10:28:24 add 'got log' -x option to stop logging when a specific commit was traversed
Stefan Sperling ccecc9fd 2020-04-18T10:28:20 wrap an overlong line
Stefan Sperling b784a72b 2020-04-01T08:11:31 remove a redundant .Pp in got.1 (found by mandoc -T lint)
Stefan Sperling 4f331d3a 2020-04-01T08:11:09 in got.1, clarify how 'got update' deals with local (aka uncommitted) changes
Stefan Sperling fa51e947 2020-03-27T21:00:25 be nice to unaware users who attempt to use got commands with a Git work tree
Stefan Sperling bcf34b0e 2020-03-26T17:10:59 make 'got fetch' restore our copy of the remote HEAD if the copy was deleted
Stefan Sperling 3789fd73 2020-03-26T14:58:16 make 'got fetch -d' delete branches from both refs/heads and refs/remotes
Stefan Sperling f1bcca34 2020-03-25T16:02:28 make 'got fetch' update our copy of the remote HEAD in case it has changed
Stefan Sperling f298ae0f 2020-03-25T15:08:59 make 'got clone' create refs/remotes/origin/HEAD, as 'git clone' does
Tracey Emery 4e0a20a4 2020-03-23T16:51:40 make got tree work on current branch and add tests for this use case ok stsp