lib/worktree.c


Log

Author Commit Date CI Message
Stefan Sperling 1dd54920 2019-05-11T18:50:57 open the file index just once when adding multiple files
joshua stein 2af4a041 2019-05-11T16:21:20 got_error_set_errno: take a char arg to pass to got_error_prefix_errno $> got rm a got: : No such file or directory becomes $> got rm a got: /path/to/a: No such file or directory
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)
joshua stein 48b8b0eb 2019-05-11T10:40:57 error: introduce got_error_prefix_errno for better errno messages
Stefan Sperling 324d37e7 2019-05-11T09:14:30 make got path APIs available to library consumers
Stefan Sperling 4229330b 2019-05-10T18:44:42 fix allocation size in alloc_added_blob_tree_entry()
Stefan Sperling 0f63689d 2019-05-10T18:20:01 remove unnecessary allocation in match_ct_parent_path()
Stefan Sperling ce0de6b6 2019-05-10T18:16:20 fix memleak in write_tree()
Stefan Sperling 797eca75 2019-05-10T18:16:03 remove dead code
Stefan Sperling 9ba0479c 2019-05-10T15:09:13 fix memleaks in write_tree()
Stefan Sperling 36a38700 2019-05-10T14:53:03 stop caching head ref's value in struct got_worktree; may become stale
Stefan Sperling 1251a9e5 2019-05-10T13:06:00 note potential problem in the existing out-of-dateness check
Stefan Sperling d56d26ce 2019-05-10T11:24:37 move out-of-dateness check to a helper function
Stefan Sperling 7200e87c 2019-05-10T11:19:49 handle blobs deleted in HEAD correctly in commit out-of-date check
Stefan Sperling 819f385b 2019-05-10T11:16:09 ensure that commits use intended base blobs for changes
Stefan Sperling e75eb4da 2019-05-10T10:55:08 rename field in 'struct commitable'
Stefan Sperling 588edf97 2019-05-10T10:52:00 commit against the HEAD commit, not the work tree's base commit
Stefan Sperling 44d03001 2019-05-09T17:07:33 don't traverse into unmodified subtrees during commit
Stefan Sperling 8eecaf36 2019-05-09T16:18:14 don't close a tree in the wrong place; fixes a bus error crash
Stefan Sperling bc70eb79 2019-05-09T15:45:21 fix bug in concurrent commit check and add another commit test
Stefan Sperling ca2503ea 2019-05-07T22:04:43 writing the lowest level of trees works now
Stefan Sperling cf745477 2019-05-07T21:00:24 whitespace
Stefan Sperling 69960a46 2019-05-07T20:38:42 don't try to get dirname of a basename
Stefan Sperling ef2a1e11 2019-05-07T20:30:05 fix another segfault
Stefan Sperling c42269f6 2019-05-07T20:29:19 fix a segfault
Stefan Sperling 0b5cc0d6 2019-05-07T20:24:47 more work on getting parent trees of commitables written
Stefan Sperling ed175427 2019-05-07T19:53:44 more progress on generating new tree entries
Stefan Sperling 24519714 2019-05-07T12:01:17 collect tree ids for committables
Stefan Sperling a7055788 2019-05-07T11:45:10 pass the right path to got_object_blob_create()
Stefan Sperling cf066bf8 2019-05-07T11:42:54 create blobs
Stefan Sperling 7a10a625 2019-05-07T11:29:45 open base commit tree correctly
Stefan Sperling 675c7539 2019-05-07T11:28:15 do status walk before opening base commit/tree
Stefan Sperling a855e33f 2019-05-07T11:25:52 add a comment marking where to collect the log message
Stefan Sperling 09f5bd90 2019-05-09T15:33:57 try to detect concurrent commits; not perfect yet (see comments)
Stefan Sperling 768aea60 2019-05-09T14:41:50 fix perms in committed tree entries
Stefan Sperling f2c16586 2019-05-09T13:50:52 update HEAD reference after commit
Stefan Sperling ebf99748 2019-05-09T13:22:33 update fileindex after commit
Stefan Sperling baa7dcfa 2019-05-08T20:00:37 don't visit added subtrees reundantly
Stefan Sperling afa376bf 2019-05-08T19:18:45 report commit item status
Stefan Sperling 9d40349a 2019-05-08T18:49:54 add TODO comments
Stefan Sperling de18fc63 2019-05-08T18:37:37 write commit objects
Stefan Sperling 2f51b5b3 2019-05-08T17:02:01 handle added subtrees during commit
Stefan Sperling 036813ee 2019-05-08T12:17:01 more progress on commits: write trees recursively
Stefan Sperling c4296144 2019-05-07T10:17:36 WIP commit implementation
Stefan Sperling 0584f854 2019-04-06T08:03:09 implement cancellation support for diff and status operations
Stefan Sperling c4cdcb68 2019-04-03T16:17:53 add support for partial updates, which affect specific paths only
Stefan Sperling a129376b 2019-03-29T00:04:52 add initial implementation of 'got revert'
Stefan Sperling fc6346c4 2019-03-27T12:51:30 don't leave file as unversioned in case of wt edit vs repo rm
Stefan Sperling 13d9040b 2019-03-27T12:33:41 test and improve behaviour for wt edit vs repo rm conflict
Stefan Sperling 708d8e67 2019-03-27T12:00:59 fix behaviour when update deletes an edited file
Stefan Sperling 7154f6ce 2019-03-27T09:22:15 make 'got status' detect and indicate merge conflict markers
Stefan Sperling 1430b4e0 2019-03-27T08:18:28 treat 'add vs add' on update as a text conflict for now
Stefan Sperling 71a29355 2019-03-27T07:48:54 fix behaviour when 'got rm' is used twice
Stefan Sperling 5c99ca9f 2019-03-27T07:41:37 fix behaviour when 'got add' is used twice
Stefan Sperling 031a5338 2019-03-26T10:46:18 make got_worktree_schedule_add() report 'added' via status_cb
Stefan Sperling 2ec1f75b 2019-03-26T10:35:33 add a basic implementation of 'got rm'
Stefan Sperling d00136be 2019-03-26T09:03:53 implement a basic 'got add' command
Stefan Sperling 6c7ab921 2019-03-18T16:48:18 introduce got_worktree_resolve_path()
Stefan Sperling ddcd8544 2019-03-11T19:57:53 move worktree-specific error handling out of got_path_mkdir()
Stefan Sperling 0647c563 2019-03-11T19:18:30 remove path portion from worktree base commit ref name
Stefan Sperling 517bab73 2019-03-11T19:06:13 deduplicate code for constructing a worktree's base ref name
Stefan Sperling 0c48fee2 2019-03-11T18:15:28 refuse to create got worktree at a git repo path
Stefan Sperling 0cd1c46a 2019-03-11T18:07:33 create references to base commits of got worktrees
Stefan Sperling f02eaa22 2019-03-11T14:27:35 better error if .got directory is missing files
Stefan Sperling bd165944 2019-03-10T15:56:38 plug memleak in got_open_worktree()
Stefan Sperling c442a90d 2019-03-10T15:55:28 read UUID back from work tree meta data
Stefan Sperling ec22038e 2019-03-10T15:45:57 add a UUID to work tree meta data
Stefan Sperling 70a0c8ec 2019-02-20T10:35:33 preserve permissions on merged files
Stefan Sperling 2a57020b 2019-02-20T09:43:09 clean up temp files if rename(2) fails
Stefan Sperling 65ad4e61 2019-02-20T08:37:01 improve wording of a comment in merge_blob()
Stefan Sperling 80c5c120 2019-02-19T13:38:08 missing fread(3) error check in get_file_status()
Stefan Sperling d10c9b58 2019-02-19T13:23:04 missing stat error check in read_meta_file()
Stefan Sperling 68c76935 2019-02-19T13:20:39 update cached timestamps of files left unmodified after a merge
Stefan Sperling 3cbbd752 2019-02-19T12:55:43 fix get_file_status() for files larger than blob read buffer size
Stefan Sperling af54ae4a 2019-02-19T12:03:13 avoid cross-device rename(2) after 3-way file merge
Stefan Sperling 816dc654 2019-02-16T13:45:15 check for errors from fsync(2)
Stefan Sperling 3a6ce05a 2019-02-11T12:32:53 check for errors from close(2)
Stefan Sperling fb43ecf1 2019-02-11T11:59:09 check for errors from fclose()
Stefan Sperling 927df6b7 2019-02-10T18:42:29 allow restricting 'got diff' and 'got status' to a path in work tree
Stefan Sperling 2c201a36 2019-02-10T16:41:44 make 'got status' ignore symlinks, for now
Stefan Sperling b8f41171 2019-02-10T14:03:49 eliminate redundant stat() calls during status crawl
Stefan Sperling a378724f 2019-02-10T13:20:43 make 'got update' restore missing files
Stefan Sperling 02c07007 2019-02-10T12:46:14 don't update cached timestamps of already modified files
Stefan Sperling ba8a0d4d 2019-02-10T12:30:06 clear executable bit when updating files if necessary
Stefan Sperling 68ed9ba5 2019-02-10T12:02:52 preserve executable bit on files during checkout and update
Stefan Sperling 276262e8 2019-02-08T15:27:19 fix typo in status code name: GOT_STATUS_MODIFIY -> GOT_STATUS_MODIFY
Stefan Sperling 6353ad76 2019-02-08T15:12:00 make 'got update' merge file edits
Stefan Sperling b72f483a 2019-02-06T00:04:59 make 'got diff' show local changes in work tree
Stefan Sperling 14e5d4dc 2019-02-05T22:25:42 fix bug with wrong size comparison in get_file_status()
Stefan Sperling d1542a27 2019-02-05T18:24:28 fix endless loop in got_worktree_open()
Stefan Sperling c7f4312f 2019-02-05T17:46:58 make 'got status' work in subdirectories of a work tree
Stefan Sperling 247140b2 2019-02-05T17:15:54 make got_worktree_open() crawl upwards
Stefan Sperling c513d110 2019-02-05T17:15:06 add missing error check in got_worktree_status()
Stefan Sperling d43a8a88 2019-02-05T16:22:04 rename a local variable in got_worktree_status()
Stefan Sperling 0dbc2271 2019-02-05T16:16:13 make 'got status' detect obstructed files
Stefan Sperling bf96b38c 2019-02-05T16:09:58 move all file modification detection code to a single function
Stefan Sperling f8d1f275 2019-02-04T14:46:17 add a worktree status API
Stefan Sperling d1f6d47b 2019-02-04T11:17:36 add support for diffing fileindex against an on-disk directory tree
Stefan Sperling f44ffd20 2019-02-04T10:59:59 rename tree-specific fileindex diff callbacks