include


Log

Author Commit Date CI Message
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 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 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 f193b038 2020-12-26T22:39:55 rename got_reflist_object_map_free to got_reflist_object_id_map_free
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 7b5b670e 2020-12-25T21:38:17 implement an object ID map for reference lists ok naddy
Yang Zhong 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
Stefan Sperling 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@
Stefan Sperling 4cc6a5a5 2020-12-15T22:42:20 add got_error_from_errno_fmt() for more flexibility in error messages suggested by and ok millert
Stefan Sperling 41ad2652 2020-12-04T20:27:43 remove unused function got_path_get_absolute(); realpath(3) is usually better
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 20b7abb3 2020-10-22T20:36:23 detect unknown repository format extensions (such as sha256 format) ok millert
Stefan Sperling 0c4004e3 2020-10-20T21:09:00 handle non-const dirname(3) in got_path_dirname() ok naddy
Stefan Sperling 562386c5 2020-10-19T23:14:59 update got_path_basename() doc string ok millert
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 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 50b0790e 2020-09-11T17:04:57 add per-worktree got.conf(5) file in the .got directory; ok millert
Stefan Sperling 257add31 2020-09-09T23:57:40 add got.conf(5) configuration file ok tracey
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 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 35213c7c 2020-07-23T14:22:39 forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
Stefan Sperling af57b12a 2020-07-23T14:21:30 add symlink support to 'got cherrypick'; test non-conflict cases only for now
Stefan Sperling e40622f4 2020-07-23T14:21:28 add got_object_tree_entry_is_symlink() and got_object_resolve_symlinks()
Stefan Sperling 8ba819a3 2020-07-23T14:21:27 let 'got checkout' create symlinks in a work tree
Stefan Sperling 20ccae39 2020-07-21T14:19:32 cope with directory entries returned from readdir(3) with type DT_UNKNOWN Such directory entries need special handling to make our directory traversal code work on filesystems that do not support the d_type optimization. I found this problem because references stored in the refs/ directory were not shown by 'got log' and 'tog log' when a repository is mounted over NFS. helpful feedback + ok millert@
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 0d6c6ee3 2020-05-20T17:37:29 make 'got/tog tree' show symlink targets like 'ls -lF' does: link@ -> target
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 5036ab18 2020-04-18T18:40:00 make 'got update' skip conflicted files ok millert@
Stefan Sperling f7b97ccb 2020-04-14T11:37:39 normalize tree entry modes to 0100644 or 0100755 when writing tree objects semarie@ reported an error from go-git used by Cirrus CI: "57243613255d758e15b0f5ae1c960b970f0435f8: malformed mode (0100640)!" 'git fsck' has no problem with mode 0100640. But writing just the two most commonly used file modes should provide the best compatibility.
Stefan Sperling d7b899ab 2020-03-25T15:55:22 fix got_ref_change_symref(); it changed the ref's name instead of its target
Stefan Sperling 678ade17 2020-03-22T15:44:34 don't error out if rebase sees no merged paths; elide the commit instead
Stefan Sperling e8a967e0 2020-03-21T22:44:07 make replacing symrefs actually work in 'got fetch'
Stefan Sperling 0e4002ca 2020-03-21T21:49:13 add support for fetching arbitrary references to 'got clone' and 'got fetch'
Stefan Sperling 2690194b 2020-03-21T18:17:12 remove GOT_FETCH_DEBUG and toggle fetch debug output with -v option instead
Stefan Sperling 9c52365f 2020-03-21T10:37:19 properly terminate the ssh process after fetching via SSH
Stefan Sperling 41b0de12 2020-03-21T10:18:15 add support for listing remote branches and tags to 'got clone' and 'got fetch'
Stefan Sperling 4ba14133 2020-03-20T20:23:18 add support for fetching specific branches to 'got clone' and 'got fetch'
Stefan Sperling 659e7fbd 2020-03-20T15:55:08 fetch only HEAD branch and tags by default; add -a option to fetch everything
Stefan Sperling 469dd726 2020-03-20T11:44:14 add support for repository mirrors to 'got clone' and 'got fetch'
Stefan Sperling f1c6967f 2020-03-19T22:43:44 fix chopped display of git-server's progress output
Stefan Sperling 7848a0e1 2020-03-19T16:57:27 implement 'got fetch'
Stefan Sperling 68999b92 2020-03-18T16:13:48 allow controlling verbosity of 'got clone' with -q and -v options
Stefan Sperling 7ebc0570 2020-03-18T16:13:47 do not forget to create references under remotes/origin during 'got clone'
Stefan Sperling b46f3e71 2020-03-18T16:13:47 create a git config file in newly cloned repositories
Stefan Sperling ee448f5f 2020-03-18T16:13:47 apply unveil(2) to 'got clone'
Stefan Sperling 668a20f6 2020-03-18T16:13:41 rewritten got-index-pack; sorry about the monster commit
Stefan Sperling baa9fea0 2020-03-18T16:11:33 send indexing progress via an imsg
Stefan Sperling d2cdc636 2020-03-18T16:11:32 send pack file download progress information over imsg
Stefan Sperling 531c3985 2020-03-18T16:11:32 add support for git protocol sidebands and display server progress
Stefan Sperling fe53745c 2020-03-18T16:11:30 convert readn and readpkt to struct got_error
Stefan Sperling a78567c6 2020-03-18T16:11:28 document fetch API functions
Stefan Sperling ceee4c0f 2020-03-18T16:11:28 remove unused arguments from got_fetch_pack()
Stefan Sperling 07e52fce 2020-03-18T16:11:27 rename got_fetch() to got_fetch_pack()
Stefan Sperling 20eb36d0 2020-03-18T16:11:27 attempt to connect to a server before creating a local repo
Stefan Sperling d9b4d0c0 2020-03-18T16:11:27 make got_fetch() provide reference info to callers and set refs in cmd_clone()
Stefan Sperling bb64b798 2020-03-18T16:11:26 have got_fetch() require an open got_repository to be passed in
Stefan Sperling 09838ffc 2020-03-18T16:11:26 make got_fetch() expect URI information in parsed form
Stefan Sperling 82ebf666 2020-03-18T16:10:34 tweak parse_uri() function, declare it as public API, and add a test for it
Stefan Sperling abd4a1be 2020-03-18T16:10:32 move new errors codes to end of error code list
Stefan Sperling 5cc27ede 2020-03-18T16:10:32 make protocol dial helpers return struct got_error style errors
Stefan Sperling 84f2fa52 2020-03-18T16:10:32 rename got_clone() to got_fetch()
Stefan Sperling 6f23baec 2020-03-18T16:10:31 declare got_clone() in public API space
Stefan Sperling 93658fb9 2020-03-18T16:10:30 Add initial support for network protocol. Ported from git9 by Ori Bernstein.
Stefan Sperling de05890f 2020-03-05T10:53:53 fix histedit 'rebase commit ID mismatch' error when splitting a commit Commit IDs on histedit's temporary branch can change arbitrarily because the user may create new commits on this branch while editing past commits. So there is no point in trying to verify these IDs like we do during rebase. Add a test case which demonstrates the problem.
Stefan Sperling 61a7d79f 2020-02-29T08:05:11 remove GOT_ERR_NOT_ABSPATH and fix existing users to deal with absolute paths
Stefan Sperling bb63914a 2020-02-17T21:57:56 make tmp dir location a compile-time setting and change gotweb's tmp dir We are not sure whether a gotweb package can own /var/www/tmp on OpenBSD. Moving gotweb's tmp dir to /var/www/got/tmp sidesteps that issue.
Tracey Emery 9f33591a 2020-02-14T22:26:09 check required querystring commit exists for gw_tags
Stefan Sperling 9a1cc63f 2020-02-03T09:18:40 read repository owner name with gitconfig parser instead of a hand-rolled one
Stefan Sperling d1f16636 2020-01-15T22:05:49 move got_repo_cmp_tags() to got_ref_cmp_tags()
Tracey Emery 2ddd4701 2020-01-15T20:39:12 move cmp_tags() into the library
Stefan Sperling 71a27632 2020-01-15T19:26:49 move match_object_id() into the library; supersedes got_repo_resolve_commit_arg
Stefan Sperling 7a1d6b72 2020-01-15T19:10:46 fix 'tog log -c' with tags
Stefan Sperling bb51a5b4 2020-01-13T10:28:58 add -E option to 'got checkout' allowing use of a non-empty work tree path needed by and ok kn@
Stefan Sperling e1a68182 2020-01-07T17:49:17 fix pack index cache; don't open/close pack index files needlessly
Stefan Sperling 5aa81393 2020-01-06T19:38:23 add copyright year for files already touched in 2020
Stefan Sperling 3d509237 2020-01-04T18:25:28 simplify got_commit_graph_open()
Stefan Sperling ee780d5c 2020-01-04T15:44:13 remove GOT_ERR_ITER_NEED_MORE; the commit graph now fetches internally instead
Stefan Sperling e51d7b55 2020-01-04T08:35:17 prevent rebase with an out-of-date work tree
Stefan Sperling 7f47418f 2019-12-20T15:54:59 make 'got checkout' and 'got update' work with read-only repositories but warn users about the garbage collection problem
Tracey Emery 70e3e7f5 2019-12-13T20:05:57 add -k option to 'got remove' to keep files on disk ok stsp
Stefan Sperling 12463d8b 2019-12-13T11:52:18 address some of the file descriptor vs. path races in status callbacks
Tracey Emery f2a9dc41 2019-12-13T00:29:28 add -R option to 'got remove' for recursive deletion ok stsp
Tracey Emery 022fae89 2019-12-06T16:18:26 Introduce -I to cmd_add to disregard ignores when adding recursively. Expand add.sh tests. Update TODO.
Stefan Sperling cd95becd 2019-11-29T02:46:04 parse remotes from gitconfig
Stefan Sperling bd5895f3 2019-11-28T05:06:55 Outright forbid reference names with a leading '-'. Matches behaviour documented in git-repository(5).
Stefan Sperling 56e0773d 2019-11-28T02:32:58 convert tree entries from SIMPLEQ to an array
Stefan Sperling 4e68cba3 2019-11-23T10:11:54 add -R option to 'got add' for recursive addition (patch by Tracey Emery)
Stefan Sperling 6d17833f 2019-11-08T13:10:36 add color support to 'tog diff'
Stefan Sperling 46f68b20 2019-10-19T11:06:56 show file mode differences when diffing trees
Stefan Sperling 1ebedb77 2019-10-19T11:06:55 teach 'got commit' to tweak the executable bit of a file
Stefan Sperling 2822a352 2019-10-15T11:38:27 add 'got integrate' command
Stefan Sperling 63035f9f 2019-10-06T19:24:31 add -w (ignore whitespace) option to 'got diff'
Stefan Sperling c9956ddf 2019-09-08T18:13:54 use author name/email from ~/.gitconfig if GOT_AUTHOR is not set
Stefan Sperling aba9c984 2019-09-08T17:14:34 obtain repo format version and commit author name/email from .git/config
Stefan Sperling cc483380 2019-09-01T13:08:13 fix NULL deref in got_error_from_errno via got_error_uuid (found by jasper)