lib/blame.c


Log

Author Commit Date CI Message
Stefan Sperling 392891ce 2022-04-07T13:20:47 pass an already open commit object to the blame callback ok op@
Stefan Sperling a44927cc 2022-04-07T12:57:31 stop relying on commit cache for good performance of got_object_id_by_path() Instead of internally opening and closing the same commit object over and over again, require callers to pass an open commit object in. Avoids an inherent dependency on the commit object cache for reasonable performance. ok op@
Christian Weisgerber 47a90748 2021-10-27T15:23:59 remove unused variables to fix LLVM 13 warnings; ok stsp
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 56b63ca4 2021-01-22T11:04:47 make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere ok millert, naddy
Christian Weisgerber 5e9266f9 2020-11-28T18:35:49 fix a typo that triggered "munmap: Invalid argument" in got blame on FreeBSD ok stsp
Stefan Sperling 763f29f6 2020-11-22T01:51:29 remove redundant lines of code from close_file2_and_reuse_file1()
Stefan Sperling b4737997 2020-11-21T14:53:47 handle binary files in blame's custom file diff atomizer
Stefan Sperling 8c35ff14 2020-11-19T15:37:46 implement custom atomizer for blame to reuse data and mappings across commits
Stefan Sperling 89dc8b78 2020-11-19T15:37:20 remove stdbool.h where it's not needed
Stefan Sperling be659d10 2020-11-18T17:18:23 fix type of filesize output parameter of got_object_blob_dump_to_file()
Stefan Sperling cca5682e 2020-11-18T16:34:28 allow for configuring a custom file atomizer with got_diff_get_config()
Stefan Sperling c27a5e66 2020-11-18T13:48:26 new blame algorithm which compares commit N-1 to N; with help from Neels
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.
Christian Weisgerber 62d463ca 2020-10-20T22:43:59 indentation fixes
Stefan Sperling 3168e5da 2020-09-10T00:10:55 zap trailing tabs
Stefan Sperling 2c2d5c5f 2020-06-07T11:51:19 show paths in blame.c GOT_ERR_OBJ_TYPE error messages
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 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 d0275cf7 2019-08-22T01:15:38 remove unused variable in blame_commit()
Stefan Sperling 4c9641fd 2019-08-21T16:57:44 fix and simplify blame algorithm Always diff against latest version of file. This is much easier since there is no need to keep track of lines shifting around.
Stefan Sperling d0c4e49e 2019-08-19T12:12:30 remove pointless offset variable in get_blamed_line()
Stefan Sperling 548237bc 2019-08-19T11:29:01 fix blame bug where lines got annotated with wrong commit
Stefan Sperling b02560ec 2019-08-19T09:54:52 fix number of lines accounted for during blame
Stefan Sperling 8d725ae1 2019-08-17T09:37:25 make blame go through first parent history; add more blame test cases
Stefan Sperling 0d8ff7d5 2019-08-15T00:15:32 rename got_blame_incremental() to got_blame()
Stefan Sperling e27a7222 2019-08-14T22:52:57 remove got_blame() API, now unused
Stefan Sperling 78695fb7 2019-08-12T12:38:08 fix blame with single-commit history and with files without \n
Stefan Sperling a0de39f3 2019-08-09T11:56:24 fix build on OpenBSD/sparc64 (gcc)
Stefan Sperling 6c4c42e0 2019-06-24T22:28:11 implement search for 'tog blame'
Stefan Sperling 638f9024 2019-05-13T12:40:57 rename got_error_prefix_errno() to got_error_from_errno()
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 fb43ecf1 2019-02-11T11:59:09 check for errors from fclose()
Stefan Sperling 15a94983 2018-12-23T14:48:47 remove struct got_object from public library API
Stefan Sperling 06ca4d09 2018-11-19T10:14:24 stop history traversal once blame has annotated all lines
Stefan Sperling 6fcac457 2018-11-19T10:05:28 store number of lines in int instead of size_t
Stefan Sperling f2e233d8 2018-11-19T09:57:31 don't abort blame in annotate_line() if lines are out of range
Stefan Sperling d1451975 2018-11-11T13:52:20 add custom error code for 'no such tree entry' errors
Stefan Sperling ff7c4d82 2018-09-20T14:49:32 remove now inaccurate comment
Stefan Sperling eac0d6b4 2018-09-20T14:48:53 remove obsolete TODO comment
Stefan Sperling 293f6400 2018-09-20T14:18:51 make 'blame' traverse history via commit graph
Stefan Sperling 4db73312 2018-09-20T11:07:56 add a TODO note for blame
Stefan Sperling 27d434c2 2018-09-15T13:52:06 replace got_object_open_by_path() with got_object_id_by_path()
Stefan Sperling df9513f1 2018-07-13T11:02:06 fix mem leak in blame_changes() error path
Stefan Sperling 58c811c5 2018-07-13T10:40:56 remove a wrong free() in got_blame()
Stefan Sperling d4af3990 2018-07-13T10:28:26 fix mem leaks in got_blame()
Stefan Sperling ce7f1bfe 2018-07-13T10:26:08 fix a mem leak in blame_commit()
Stefan Sperling 26206841 2018-07-13T00:06:40 always close blame in got_blame_incremental()
Stefan Sperling c35a7943 2018-07-12T15:04:11 account for line shift in blame; lots of help from tb@
Stefan Sperling 89a4e64f 2018-07-11T13:11:58 add missing call to blame callback
Stefan Sperling 3bf198ba 2018-07-10T15:02:13 always pass commit ID to incremental blame callback
Stefan Sperling d68a0a7d 2018-07-10T13:47:25 implement cleaner cancellation of tog's blame view
Stefan Sperling 75b7a700 2018-07-10T13:32:19 allow quitting tog blame view while blame is in progress
Stefan Sperling 84451b3e 2018-07-10T13:17:00 implement incremental blame display for tog
Stefan Sperling 63581804 2018-07-09T22:23:00 rename zbuf to inflate
Stefan Sperling 1828273a 2018-07-09T13:52:40 don't crash in 'got blame' error path
Stefan Sperling dd031dc0 2018-07-04T12:56:01 fix off-by-one in got_blame()
Stefan Sperling 2811168f 2018-07-04T12:53:44 fix off-by-one in blame_open()
Stefan Sperling 6fad634b 2018-06-21T23:39:50 remove left-over debug code
Stefan Sperling d157810f 2018-06-21T23:36:40 make annotate_line() non-fatal; handles files getting short
Stefan Sperling ed77f2ae 2018-06-21T23:34:04 simplify blame_open(): pcommit is not required
Stefan Sperling 9b94757a 2018-06-21T23:25:48 remove wrong comment
Stefan Sperling 404c43c4 2018-06-21T23:22:57 basic 'got blame' implementation