lib/worktree.c


Log

Author Commit Date CI Message
Stefan Sperling f2c16586 2019-05-09T13:50:52 update HEAD reference after commit
Stefan Sperling baa7dcfa 2019-05-08T20:00:37 don't visit added subtrees reundantly
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 afa376bf 2019-05-08T19:18:45 report commit item status
Stefan Sperling 69960a46 2019-05-07T20:38:42 don't try to get dirname of a basename
Stefan Sperling 9d40349a 2019-05-08T18:49:54 add TODO comments
Stefan Sperling ef2a1e11 2019-05-07T20:30:05 fix another segfault
Stefan Sperling c42269f6 2019-05-07T20:29:19 fix a segfault
Stefan Sperling de18fc63 2019-05-08T18:37:37 write commit objects
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 768aea60 2019-05-09T14:41:50 fix perms in committed tree entries
Stefan Sperling 2f51b5b3 2019-05-08T17:02:01 handle added subtrees during commit
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 036813ee 2019-05-08T12:17:01 more progress on commits: write trees recursively
Stefan Sperling cf066bf8 2019-05-07T11:42:54 create blobs
Stefan Sperling ebf99748 2019-05-09T13:22:33 update fileindex after commit
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 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
Stefan Sperling 5d56da81 2019-01-13T17:15:53 happy new copyright year
Stefan Sperling 14bbd1f0 2019-01-13T16:59:16 remove redundant goto statement
Stefan Sperling c65fcef2 2019-01-13T14:07:17 fix leaks in add_dir_on_disk(), and ensure all parents get created
Stefan Sperling 21908da4 2019-01-13T13:59:20 fix bug where update got confused by sub-sub directories
Stefan Sperling bd4792ec 2019-01-13T12:56:35 fix more bugs in the update walk and add more tests
Stefan Sperling c97665ae 2019-01-13T01:43:17 tolerate missing files in remove_ondisk_file()
Stefan Sperling 5f9fef37 2019-01-13T01:42:50 avoid redundant file index additions in install_blob()
Stefan Sperling cf61d818 2019-01-12T22:38:58 allow recovery of a bad file index by removing it and updating
Stefan Sperling 4a1ddfc2 2019-01-12T22:15:58 fix bug where update forgot to create a parent directory
Stefan Sperling 7e7c1e4c 2019-01-12T21:11:48 avoid pointless call to got_error_from_errno()
Stefan Sperling 8da9e5f4 2019-01-12T18:39:19 implement checkout+update as single-pass diff between file index and tree
Stefan Sperling 81a30460 2019-01-09T00:41:58 fix a path matching bug in collect_missing_file()
Stefan Sperling 7a9df742 2019-01-08T23:52:50 replace use of got_pathset in worktree code with RB tree
Stefan Sperling 133d2798 2019-01-08T23:00:56 use RB tree directly instead of a pathset in file index code
Stefan Sperling b504a804 2019-01-08T22:18:23 switch file index entries from TAILQ to got_pathset
Stefan Sperling 8f6d9a6a 2019-01-08T21:48:28 mark got_pathset iteration functions as safe
Stefan Sperling 4ba899b3 2019-01-08T21:24:02 remove entry from file index after removing on-disk file, not before
Stefan Sperling 63f4f47b 2019-01-08T21:05:06 whitespace
Stefan Sperling 26c4ac4d 2019-01-08T20:40:28 stop trying to remove parents if a non-empty parent is traversed
Stefan Sperling 90285c3b 2019-01-08T20:13:18 properly remove empty directories left behind during updates
Stefan Sperling e1ed7f77 2019-01-06T13:47:14 must use safe iteration over file index entries
Stefan Sperling 5cc266ba 2019-01-06T13:14:54 make 'got update' remove directories in a checkout with path prefix