lib/repository.c


Log

Author Commit Date CI Message
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 1d0f4054 2021-06-17T08:56:43 check for close(2) error in got_repo_close() and propagate errors up ok tracey
Tracey Emery 991ff1aa 2021-06-15T22:16:22 close all opened repo->gitdir_fd's and set open_repo static. ok naddy (with static change)
Stefan Sperling 0c9eeee2 2021-06-05T09:32:56 avoid uninitialized error being returned from got_repo_get_packfile_info()
Stefan Sperling a3af57b8 2021-05-10T11:26:06 remove unused worktree-related includes from lib/repository.c
Stefan Sperling 20662ea0 2021-04-10T13:31:30 introduce 'gotadmin info'
Stefan Sperling 6c414261 2021-03-30T01:26:42 cap pack file cache size at 1/8 of the current open file desciptor limit
Stefan Sperling 61303e6e 2021-03-30T01:22:29 fix off-by-one in got_repo_cache_pack()
Stefan Sperling 08578a35 2021-01-22T11:05:05 make close(2) failure checks consistent; check 'close() == -1' everywhere ok millert, naddy
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
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 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 dbb02f4d 2020-12-04T20:23:06 in got_repo_open(), let realpath(3) take care of relative paths
Stefan Sperling 16aeacf7 2020-11-26T12:54:19 use size_t for loop indices to avoid signedness warnings; from emaste@freebsd
Stefan Sperling 8fa913ec 2020-11-14T13:19:18 remove now pointless 'check_disk' parameter of got_repo_map_path() suggested by naddy
Stefan Sperling eef9542c 2020-10-22T20:37:50 preserve what was passed in if got_repo_map_path() can't figure out a path problem found by + ok naddy
Stefan Sperling 20b7abb3 2020-10-22T20:36:23 detect unknown repository format extensions (such as sha256 format) ok millert
Stefan Sperling 0c93d204 2020-10-20T21:09:00 tried_root in got_open_repo is not needed ok naddy
Stefan Sperling aff6eea4 2020-10-20T21:09:00 handle non-const dirname in got_repo_open() and plug a memory leak ok naddy
Stefan Sperling 9aceaadf 2020-10-20T21:09:00 properly skip to the end upon error in got_repo_open() ok naddy
Stefan Sperling b8adfa55 2020-09-25T21:35:10 add "branch" keyword to got.conf which specifies a list of branches to fetch ok tracey
Christian Weisgerber 23c57b28 2020-09-11T19:44:18 Stop including <sys/syslimits.h> directly. POSIX says the limits defined there are available from <limits.h>, which almost all affected source files already included anyway. ok millert stsp
Stefan Sperling 50b0790e 2020-09-11T17:04:57 add per-worktree got.conf(5) file in the .got directory; ok millert
Stefan Sperling 3168e5da 2020-09-10T00:10:55 zap trailing tabs
Stefan Sperling 257add31 2020-09-09T23:57:40 add got.conf(5) configuration file ok tracey
Christian Weisgerber 78fb0967 2020-09-09T21:41:22 use the POSIX standard endian functions and explicitly include <endian.h> ok stsp
Christian Weisgerber 81a12da5 2020-09-09T19:35:32 do not rely on <zlib.h> to pull in <unistd.h> ok stsp
Stefan Sperling b66cd6f3 2020-07-31T10:33:34 display more context info in "no such entry found in tree" error messages
Stefan Sperling e8863bdc 2020-07-23T14:22:33 add symlink support to 'got import'
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@
Stefan Sperling ded8fbb8 2020-04-19T08:57:07 include the relevant object ID in NO_OBJ error messages where possible
Stefan Sperling 86d8a25a 2020-04-19T08:57:07 show bad ID in "object not found" error from got_repo_match_object_id_prefix()
Stefan Sperling 2fb669fb 2020-03-20T20:23:18 initialize optional output parameters in parse_gitconfig_file()
Stefan Sperling b46f3e71 2020-03-18T16:13:47 create a git config file in newly cloned repositories
Stefan Sperling 66cba96f 2020-03-18T16:11:27 use GOT_OBJECTS_PACK_DIR instead of variants of the same which contain typos
Stefan Sperling 63f810e6 2020-02-29T07:54:55 when "bad path" errors occur, always show the path in question
Stefan Sperling 9a1cc63f 2020-02-03T09:18:40 read repository owner name with gitconfig parser instead of a hand-rolled one
Stefan Sperling 65aa7d1c 2020-01-28T20:07:15 simplify repository child path check in got_repo_map_path()
Stefan Sperling e83c0634 2020-01-27T22:25:59 remove pointless cwd checking from got_repo_map_path()
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 87c1ed2b 2020-01-07T21:50:38 don't bother swapping the first pack index cache pointer, and improve comment
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 1accf02b 2020-01-05T19:32:21 detect duplicate object IDs during ambiguity check; packed regress passes now
Stefan Sperling cd95becd 2019-11-29T02:46:04 parse remotes from gitconfig
Stefan Sperling 56e0773d 2019-11-28T02:32:58 convert tree entries from SIMPLEQ to an array
Stefan Sperling 6dd1ece6 2019-11-10T11:32:03 when an object id string is bad, include the bad string in the error message
Stefan Sperling 5d67f40d 2019-11-08T16:23:17 rename 'got init' and 'got import' default branch to "main"; patch by kmos@
Stefan Sperling db1d3576 2019-10-04T13:13:22 handle empty trees during 'import' and 'checkout'; spotted by sthen@
Steven McDonald 303e14b5 2019-09-22T16:04:05 Add missing includes for time() and ctime() These headers were implicitly used on OpenBSD, but building on Linux revealed that <time.h> wasn't included directly. diffreg.c uses ctime(), which additionally needs <sys/types.h>.
Hiltjo Posthuma d6fca0ba 2019-09-15T13:51:17 check calloc() for NULL return value
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 6b68ccd6 2019-09-01T13:10:13 prevent theoretical double-free with non-OpenBSD asprintf (found by jasper)
Stefan Sperling f2db9c47 2019-08-24T22:14:29 don't mask "not a git repo" errors in got_repo_open()
Stefan Sperling 1d126e2d 2019-08-24T14:39:58 add support for reading .git/config; parser was based on isakmpd/conf.c
Stefan Sperling b8bad2ba 2019-08-23T20:01:06 make 'got tag -l' list tags by time stamp in descending order
Stefan Sperling 29606af7 2019-08-23T18:42:27 allow got_ref_list() to restrict returned refs to a particular namespace
Stefan Sperling e6209546 2019-08-22T11:12:24 untie cancel callback declaration from the work tree
Stefan Sperling d24820bf 2019-08-11T21:19:14 add support for tag objects to 'got diff'
Stefan Sperling 303e2782 2019-08-09T13:37:56 add support for tags to -c options of some got commands
Stefan Sperling e4167f30 2019-07-27T20:32:39 ignore missing objects/pack dir in match_packed_object()
Stefan Sperling 987345dd 2019-07-27T14:37:55 remove unused variable found in write_tree()
Stefan Sperling b90deaa1 2019-07-27T14:31:45 don't fail hard if 'objects/pack' directory does not exist in repo
Stefan Sperling 62550b13 2019-07-23T14:35:00 fix path in got_repo_open() error message
Stefan Sperling 6876e203 2019-07-22T10:38:36 remove another pointless call to got_path_normalize()
Stefan Sperling 3ce1b845 2019-07-14T18:59:53 initial 'got import' implementation
Stefan Sperling 2840f715 2019-07-11T12:57:15 new realpath(3) doesn't like receiving an empty path as input
Stefan Sperling 52d1d0d9 2019-07-07T18:07:51 fix bug where match_loose_object() skipped some objects
Stefan Sperling 561c3678 2019-07-02T11:48:15 fix detection of ambiguous object ID match with pack files
Stefan Sperling dd88155e 2019-06-29T23:26:36 disambiguate abbreviated object IDs based on object type
Stefan Sperling 83c8b3b8 2019-06-29T22:40:42 plug leaks in got_repo_match_object_id_prefix()
Stefan Sperling b2df341b 2019-06-29T22:37:52 put error checks in right order
Stefan Sperling 5903ff6e 2019-06-29T22:36:44 stop matching loose objects once we've searched past the ID prefix
Stefan Sperling 4277420a 2019-06-29T12:58:30 speed up matching of abbreviated commit IDs in pack files
Stefan Sperling e09a504c 2019-06-28T20:59:14 introduce support for abbreviated object IDs
Stefan Sperling d69bcdf7 2019-06-28T19:44:24 compare pointer against NULL, not 0
Stefan Sperling 2c7829a4 2019-06-17T14:15:05 implement 'got init'
Stefan Sperling 79c99a64 2019-05-23T22:24:13 don't leak objects which can't be cached
Stefan Sperling ff563a3d 2019-05-23T21:04:23 replace got_pack_get_packfile_size() with simple fstat()
Stefan Sperling 638f9024 2019-05-13T12:40:57 rename got_error_prefix_errno() to got_error_from_errno()
Stefan Sperling 2f17228e 2019-05-11T21:18:39 lock branch reference file during 'got commit' to prevent a race
Stefan Sperling 1dd54920 2019-05-11T18:50:57 open the file index just once when adding multiple files
joshua stein 230a42bd 2019-05-11T13:04:38 got_error_from_errno -> got_error_prefix_errno also add got_error_prefix_errno2 and got_error_prefix_errno3 which should hopefully all be merged into a single function with variadic args (but can't alloc mem)
Stefan Sperling 324d37e7 2019-05-11T09:14:30 make got path APIs available to library consumers
Stefan Sperling a5b57ccf 2019-04-11T13:37:50 omit unused mode argument to open(2)
Stefan Sperling b70703ad 2019-03-18T17:16:10 fix bugs in got_repo_map_path() and add more related tests
Stefan Sperling c442a90d 2019-03-10T15:55:28 read UUID back from work tree meta data
Stefan Sperling 3a11398b 2019-02-21T14:15:33 more specific mmap(2) failure checks
Stefan Sperling 3a6ce05a 2019-02-11T12:32:53 check for errors from close(2)
Stefan Sperling ee645855 2019-02-05T16:33:30 stop checking for a worktree in open_repo()
Stefan Sperling fb79db15 2019-02-01T21:01:58 add read support for packed refs
Stefan Sperling 5d56da81 2019-01-13T17:15:53 happy new copyright year
Stefan Sperling 6e9da951 2019-01-06T10:46:46 make got_repo_get_path_git_dir() return const char *
Stefan Sperling 7839bc15 2019-01-06T10:42:56 make got_repo_get_path() return const char *
Stefan Sperling f4a881ce 2018-11-17T16:04:05 more support for tag objects; new code is not yet reachable