lib/commit_graph.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 ca6e02ac 2020-01-07T11:14:52 add support for first-parent history traversal to got-read-pack
Stefan Sperling 5aa81393 2020-01-06T19:38:23 add copyright year for files already touched in 2020
Stefan Sperling 32c85d2c 2020-01-06T00:01:59 revert e7a5b9e9b763327a7e1ddd69f6bc533565d60794; it changed blame output
Stefan Sperling e7a5b9e9 2020-01-05T00:23:54 commit graph's close_branch() can be inlined in one place
Stefan Sperling df8cd9c6 2020-01-05T00:11:11 small simplification in got_commit_graph_iter_next()
Stefan Sperling a450c2bf 2020-01-05T00:05:39 remove a misleading comment
Stefan Sperling 48595de1 2020-01-04T23:58:45 remove redundant code from add_node_to_iter_list()
Stefan Sperling 94489f7d 2020-01-04T23:54:53 remove commit graph iter_node pointer; use the iter_list head instead
Stefan Sperling 5175b31a 2020-01-04T21:51:24 improve commit graph's error handling of non-existent paths
Stefan Sperling 7e33c8c5 2020-01-04T21:31:55 no need to open a commit in got_commit_graph_iter_start()
Stefan Sperling 3ff3126d 2020-01-04T21:28:00 simplify got_commit_graph_iter_start(); adding an ID to open_branches suffices
Stefan Sperling 14159a7b 2020-01-04T21:15:59 remove unused 'node' parameter from advance_branch()
Stefan Sperling 8e291695 2020-01-04T21:12:59 commit graph's idset data pointers were not actually used
Stefan Sperling 57eecd46 2020-01-04T20:06:38 remove pointless output parameters from fetch_commits_from_open_branches()
Stefan Sperling ec1904dc 2020-01-04T19:55:21 fix error in previous commit
Stefan Sperling 13a851c1 2020-01-04T19:50:01 simplify changed-path and branch-done detection in commit graph
Stefan Sperling de56b2d7 2020-01-04T19:39:29 move changed-path detection out of add_node() in commit graph
Stefan Sperling 88cdb9c6 2020-01-04T18:51:14 init TAILQ earlier in got_commit_graph_open(), just in case
Stefan Sperling a342f20d 2020-01-04T18:47:57 remove a redundant call to detect_changed_path() in commit graph
Stefan Sperling 22220781 2020-01-04T18:36:07 simplify error handling in got_commit_graph_open()
Stefan Sperling 3ddcebf3 2020-01-04T18:31:19 merge alloc_graph() into got_commit_graph_open()
Stefan Sperling 3d509237 2020-01-04T18:25:28 simplify got_commit_graph_open()
Stefan Sperling 11d7587e 2020-01-04T17:57:01 replace commit graph's head_node pointer with a local variable
Stefan Sperling ee780d5c 2020-01-04T15:44:13 remove GOT_ERR_ITER_NEED_MORE; the commit graph now fetches internally instead
Stefan Sperling 56e0773d 2019-11-28T02:32:58 convert tree entries from SIMPLEQ to an array
Stefan Sperling 6fb7cd11 2019-08-22T11:33:50 add cancellation support to commit graph and 'got blame'
Stefan Sperling 202329ae 2019-08-11T20:11:56 fix some more occurrences of potential errno clobbering
Stefan Sperling 818c7501 2019-07-10T18:23:39 initial 'got rebase' implementation
Stefan Sperling 82751bc5 2019-05-13T12:48:44 fix typo in error message and improve indentation
Stefan Sperling 638f9024 2019-05-13T12:40:57 rename got_error_prefix_errno() to got_error_from_errno()
Stefan Sperling a9833bc9 2019-05-13T10:56:15 add got_commit_graph_find_youngest_common_ancestor()
Stefan Sperling e009fd0f 2019-05-11T14:30:02 identify an error source correctly
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 998ff57f 2018-11-19T00:22:17 make advance_branch() search the smaller id set first
Stefan Sperling 9f57848c 2018-11-19T00:20:14 remove unnecessary graph search in advance_branch()
Stefan Sperling 81a966c0 2018-11-19T00:11:01 whitespace
Stefan Sperling 73026088 2018-11-18T23:47:19 rename got_commit_graph_node's commit_timestamp to timestamp
Stefan Sperling 7a62478b 2018-11-18T23:45:45 remove some unused cruft from commit graph
Stefan Sperling 0e9101d5 2018-11-18T23:37:05 if-return-early instead of if-else in detect_changed_path()
Stefan Sperling 7310c1c3 2018-11-18T23:33:59 don't open tree unnecessarily in detect_changed_path()
Stefan Sperling ce95c694 2018-11-18T23:30:14 remove unreachable code
Stefan Sperling 45f209d7 2018-11-18T23:18:50 add_node() must remove freed nodes from graph in error path
Stefan Sperling 9b88e78c 2018-11-18T23:08:01 don't add duplicates to commit graph's open branches set
Stefan Sperling d2c2d781 2018-11-18T21:46:12 fix comparison of parents content in advance_branch()
Stefan Sperling 6dcdad08 2018-11-18T21:45:31 plug memory leaks in advance_branch()
Stefan Sperling d1451975 2018-11-11T13:52:20 add custom error code for 'no such tree entry' errors
Stefan Sperling 91a3d81f 2018-11-11T13:41:46 introduce got errors with custom messages; add one for ERR_NO_OBJ
Stefan Sperling 246e1c78 2018-11-08T19:09:27 prevent free of bogus pointers via fetch_commits_from_open_branches()
Stefan Sperling 5e50c36a 2018-11-08T19:09:08 remove premature optimization which resulted in buggy logic
Stefan Sperling 32777563 2018-11-07T07:28:37 avoid tips temp copy in fetch_commits_from_open_branches()
Stefan Sperling cb103d04 2018-11-07T06:42:26 allow got_object_idset_for_each() to return an error
Stefan Sperling 1bf85b22 2018-11-07T06:28:59 stop messing with the open_branches set in add_node()
Stefan Sperling 5df4932d 2018-11-05T18:25:15 improve handling of struct got_object_qid allocations
Stefan Sperling 649fc316 2018-11-05T17:41:24 remove a redundant call to detect_changed_path()
Stefan Sperling bfd1f6da 2018-11-05T16:59:42 init commit timestamp earlier in commit graph's add_node()
Stefan Sperling ccb26ccd 2018-11-05T16:16:35 avoid a call to mktime() in commit graph's add_node()
Stefan Sperling 41fa1437 2018-11-05T15:30:15 back out mini-commits; no significant performance difference
Stefan Sperling 05e1230b 2018-11-05T12:42:03 rename got_commit_object_mini to got_mini_commit_object
Stefan Sperling e32baab7 2018-11-05T12:39:49 add an object cache for mini commits
Stefan Sperling 7762fe12 2018-11-05T11:46:30 add a mini-commit object for use by commit graph
Stefan Sperling b36429ab 2018-11-05T01:44:27 reduce the amount of memcmp() calls via got_object_idset_add()
Stefan Sperling fd1d2703 2018-11-04T22:29:58 don't eat errors in detect_changed_path() + cosmetic fixes
Stefan Sperling 644e44ed 2018-11-04T16:40:28 remove some dead code
Stefan Sperling f2877bf5 2018-10-24T15:49:13 expose merge commits in log output again
Stefan Sperling 93e45b7c 2018-09-24T11:57:04 use commit graph for path filtering in 'tog log'
Stefan Sperling 8d49203e 2018-09-20T15:07:49 allocate less tips by default in commit graph
Stefan Sperling e65e3e2f 2018-09-20T10:51:38 remove useless code in #if 0
Stefan Sperling 6bc66952 2018-09-19T15:09:35 fix commit graph iteration again; second entry was omitted
Stefan Sperling 028d7a4e 2018-09-19T14:52:32 fix commit graph iteration with just one iter-list entry
Stefan Sperling d415e120 2018-09-19T14:19:23 fix previous: last entry returned by graph iteration was duplicated
Stefan Sperling bee6b577 2018-09-19T14:14:24 make commit graph skip no-op branches and fix iter-list management
Stefan Sperling 2c7f8870 2018-09-19T13:19:41 typos
Stefan Sperling 1c7a5dcb 2018-09-15T20:31:55 don't call mktime() needlessly in commit graph
Stefan Sperling 31cedeaf 2018-09-15T19:42:15 add path filtering support to commit graph
Stefan Sperling b565f6f8 2018-07-23T13:08:03 avoid unnecessary reallocations in fetch_commits_from_open_branches()
Stefan Sperling f4ceb45e 2018-07-23T12:40:12 commit graph child adjancencies are not used; drop them
Stefan Sperling fa2f6902 2018-07-23T11:30:26 use got_object_qid_free() consistently
Stefan Sperling fb5b9d5a 2018-07-23T11:18:44 fix more leaks in commit graph's add_node()
Stefan Sperling 063c1bed 2018-07-23T10:12:37 free parent ids when freeing commit graph nodes
Stefan Sperling 4e845d01 2018-07-22T16:10:19 fix leaks in commig graph's add_node()
Stefan Sperling cb352812 2018-07-22T14:08:45 callers of add_node() don't need to check for GOT_ERR_OBJ_EXISTS
Stefan Sperling ce47a424 2018-07-22T13:52:36 treat double-linking to same child in commit graph as no-op
Stefan Sperling 63581804 2018-07-09T22:23:00 rename zbuf to inflate
Stefan Sperling 60f2eee1 2018-07-08T17:18:45 undo previous; too much mixup in one data structure
Stefan Sperling d54f52f4 2018-07-07T16:50:10 store recently accessed objects at front of cache lists
Stefan Sperling e7c810ea 2018-06-22T09:33:08 allow got_object_idset_remove() to retreive data pointer
Stefan Sperling fe8df4c2 2018-06-16T23:52:47 undo previous; it broke tog(1) with openssl repo
Stefan Sperling 98fdf1e0 2018-06-16T23:50:18 iter_node insertion hack in commit graph shouldn't be needed
Stefan Sperling 788c352e 2018-06-16T19:18:32 store commit timestamps as 'struct tm' in UTC
Stefan Sperling 0ed6ed4c 2018-06-13T18:29:04 got log: allow first-parent traversal with the commit graph
Stefan Sperling a37db869 2018-06-11T22:21:01 remove false statement in comment
Stefan Sperling 58e5f354 2018-06-11T22:19:29 tweak add_node_to_iter_list for clarity; no functional change
Stefan Sperling 19137930 2018-06-11T22:14:50 improve comment
Stefan Sperling 72f85f8c 2018-06-11T21:36:08 fix endless loop in commit graph
Stefan Sperling d2312330 2018-06-11T21:33:26 ensure commit graph iterations see all new commits being added
Stefan Sperling 9ba79e04 2018-06-11T18:42:04 commit graph support for tog(1)
Stefan Sperling 31920504 2018-06-11T16:40:08 rename commit graph's iter_candidates to iter_list
Stefan Sperling 6e0c0f9a 2018-06-11T15:52:51 remove got_commit_graph_contains_object() Put equivalent functionality into fetch_commits_up_to() instead.