lib/reference.c


Log

Author Commit Date CI Message
Christian Weisgerber 3818e3c4 2020-11-01T16:28:46 convert all remaining instances of chmod(2) to fchmod(2) ok stsp
Stefan Sperling a1c4175c 2020-09-22T00:42:02 there is no need to grab locks when opening refs in got_ref_delete()
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 2a104ff6 2020-09-21T23:37:54 make 'got ref -d' delete both loose and packed representations of the reference
Christian Weisgerber 81a12da5 2020-09-09T19:35:32 do not rely on <zlib.h> to pull in <unistd.h> ok stsp
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 d7b899ab 2020-03-25T15:55:22 fix got_ref_change_symref(); it changed the ref's name instead of its target
Stefan Sperling 75236079 2020-03-25T14:30:15 handle refs/remotes/origin/HEAD properly; reported by Matthias aka _xhr_
Stefan Sperling b2070a3f 2020-03-22T14:21:07 allow for limiting output of 'got ref -l' to a single ref or a namespace
Stefan Sperling e8a967e0 2020-03-21T22:44:07 make replacing symrefs actually work in 'got fetch'
Stefan Sperling 9f142382 2020-03-21T22:06:00 properly lock references when 'got fetch' needs to update them
Stefan Sperling f68a7890 2020-03-19T09:07:46 make got_ref_list() work on a fresh repository created with got_repo_init()
Stefan Sperling 7fa81f88 2020-02-21T01:06:03 allow 'got ref' to manipulate refs which do not have a slash in their name
Stefan Sperling d1f16636 2020-01-15T22:05:49 move got_repo_cmp_tags() to got_ref_cmp_tags()
Stefan Sperling 56e0773d 2019-11-28T02:32:58 convert tree entries from SIMPLEQ to an array
Stefan Sperling c30018ad 2019-10-21T09:04:57 ignore empty files in refs directory; convert parse_ref_file() to getline(3)
Stefan Sperling 24b5452a 2019-10-09T06:50:28 show bad reference names in error messages to make such errors more clear
Hiltjo Posthuma cdb8f1fa 2019-08-28T18:50:20 fix possible NULL deref in alloc_symref()
Stefan Sperling 6aeab596 2019-08-28T14:51:42 fix deletion of branches stored in packed-refs broken since 29606af7a3a58767bf817a38035490899609d13e
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 29e86f7a 2019-08-13T00:32:42 introuce a hard limit on recursion through symbolic references
Stefan Sperling d572f586 2019-08-02T15:42:42 eliminate strlen() calls during fileindex rb tree searches
Stefan Sperling 6e472252 2019-07-22T10:35:46 remove pointless call to got_path_normalize()
Stefan Sperling aaf88317 2019-07-10T18:08:23 introduce got_ref_alloc_symref() and got_ref_get_symref_target()
Stefan Sperling 6e472abb 2019-05-13T17:27:39 fix a segfault in got_ref_open()
Stefan Sperling 0f148cb7 2019-05-13T17:28:57 revert c191ed664f6c437ebc3e0c859c53e48b445401f1 'got ref' should only work with naked ref names; implicitly putting things into 'refs/heads' is a job for something like a 'got branch' command.
Stefan Sperling aedda007 2019-05-13T17:09:11 make open_ref() tolerate missing reference dirs and files
Stefan Sperling c191ed66 2019-05-13T17:08:16 allow single-component reference names with got_ref_alloc()
Stefan Sperling 638f9024 2019-05-13T12:40:57 rename got_error_prefix_errno() to got_error_from_errno()
Stefan Sperling f5c58ad1 2019-05-12T18:05:59 fix leftover lockfiles from parse_ref_file()
Stefan Sperling a875589a 2019-05-12T17:55:03 fix locking of packed ref file in got_ref_open()
Stefan Sperling 0885ce8f 2019-05-12T17:48:22 handle well-known refs more obviously in got_ref_open()
Stefan Sperling 5b575c25 2019-05-12T17:45:10 don't hide errors in got_ref_open()
Stefan Sperling 2f17228e 2019-05-11T21:18:39 lock branch reference file during 'got commit' to prevent a race
joshua stein 656b1f76 2019-05-11T14:26:12 while (1) -> for (;;)
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 b249b824 2019-05-09T13:47:59 add APIs to change references
Stefan Sperling 57b6f99a 2019-04-13T16:06:37 handle non-existent reference in got_ref_resolve() error path
Stefan Sperling 598a8b91 2019-03-15T13:38:49 implement support for packed refs in 'got ref -d'
Stefan Sperling 6249107b 2019-03-15T13:35:47 fix uninitialized variable in insert_ref()
Stefan Sperling 80d5fc1f 2019-03-15T13:24:51 use sizeof instead of SHA1_DIGEST_LENGTH in memcpy
Stefan Sperling 6fdbf7b0 2019-03-15T13:14:08 better malloc size idiom in insert_ref()
Stefan Sperling c0a1c016 2019-03-15T13:11:20 move assignment closer to check in parse_ref_file()
Stefan Sperling 505287be 2019-03-15T13:06:47 properly handle duplicates when calling insert_ref()
Stefan Sperling 27a1ed03 2019-03-15T12:59:35 don't leak 'new' in insert_ref()
Stefan Sperling 0bb4abae 2019-03-15T12:50:27 better fparseln error handling and memory leak fix in got_ref_list()
Stefan Sperling 7ab0422a 2019-03-15T12:49:08 better foarseln() error handling in open_packed_ref()
Stefan Sperling c980e470 2019-03-15T12:47:15 plug memleak in alloc_ref()
Stefan Sperling c53671d0 2019-03-15T12:45:56 plug memleak in got_ref_resolve()
Stefan Sperling f9267c9a 2019-03-15T11:09:41 set an is_packed flag on refs parsed from packed-refs file
Stefan Sperling e09d28b1 2019-03-15T11:09:02 plug two memory leaks when refs get closed
Stefan Sperling d1667f0d 2019-03-11T20:22:28 introduce got_path_dirname()
Stefan Sperling 5e1c9f23 2019-03-11T20:13:26 fix dirname() usage errors around got_path_mkdir()
Stefan Sperling 49c7094f 2019-03-11T20:02:10 fix broken error checking in got_ref_write()
Stefan Sperling 0cd1c46a 2019-03-11T18:07:33 create references to base commits of got worktrees
Stefan Sperling e2e879a0 2019-03-11T16:58:21 introduce got_ref_list_free() and use it in got and tog
Stefan Sperling 2d2e1378 2019-03-11T16:34:33 add got_ref_delete(); only loose refs supported for now
Stefan Sperling 8fa2f096 2019-03-11T16:28:11 fix off-by-one in fwrite() check in got_ref_write()
Stefan Sperling 0fd469ce 2019-03-11T16:27:15 make got_ref_write() work for refs which do not exist yet
Stefan Sperling 58908ed0 2019-03-11T16:25:39 fix path construction with empty subdir in open_ref()
Stefan Sperling 9e672c74 2019-03-11T14:56:04 implement got_ref_write()
Stefan Sperling f77a24b0 2019-03-11T14:20:46 validate ref names
Stefan Sperling 5892cdd6 2019-03-10T16:17:12 introduce got_ref_alloc()
Stefan Sperling fb43ecf1 2019-02-11T11:59:09 check for errors from fclose()
Stefan Sperling e135804e 2019-02-10T19:15:13 make got_ref_open() search on-disk refs before packed-refs
Stefan Sperling 7a3c76f5 2019-02-05T14:41:20 fix insert_ref() to provide ordering similar to path lists
Stefan Sperling 3ca16530 2019-02-04T18:48:07 append to tail of reflist, not to the head of the list
Stefan Sperling e397b6db 2019-02-04T10:48:23 make got_ref_list() return a sorted list
Stefan Sperling 29b5c214 2019-02-04T10:37:07 on-disk refs must take precedence over packed-refs
Stefan Sperling 1e37702e 2019-02-04T10:24:14 internally represent a non-existent ref as NULL rather than as error
Stefan Sperling a04f49d2 2019-02-04T09:54:40 include non-packed refs in results from got_ref_list()
Stefan Sperling 76b4ead2 2019-02-03T17:15:26 add missing error checks in got_ref_list()
Stefan Sperling 30c0868d 2019-02-03T17:08:03 improve error codes in lib/reference.c
Stefan Sperling 199a4027 2019-02-02T15:00:28 make 'got log' show packed refs and HEAD ref (pther refs not shown yet)
Stefan Sperling 0bd18d37 2019-02-01T22:16:47 add potentially useful helpers for tag objects and refs
Stefan Sperling 532920c8 2019-02-01T22:02:43 actually return once parse_packed_ref_line() succeeds
Stefan Sperling 0dec1cc0 2019-02-01T21:42:23 parse packed refs in a single pass over packed-refs file
Stefan Sperling c5f754cc 2019-02-01T21:30:38 optimize code path for lookup of well-known refs
Stefan Sperling bd376bb3 2019-02-01T21:13:57 handle absolute refs being passed to open_packed_ref()
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 271d2a38 2018-12-25T15:38:24 store parsed head reference in struct got_worktree
Stefan Sperling 63581804 2018-07-09T22:23:00 rename zbuf to inflate
Stefan Sperling 788c352e 2018-06-16T19:18:32 store commit timestamps as 'struct tm' in UTC
Stefan Sperling d1f2edc9 2018-06-13T19:19:55 make 'got log -c' accept a branch name
Stefan Sperling 5261c201 2018-04-01T23:37:09 rename 'refs' to 'reference'