include/got_worktree.h

Branch


Log

Author Commit Date CI Message
Omar Polo 4bcdc895 2022-05-17T17:35:17 refactor got_patch / got_worktree_patch_complete let got_patch own fileindex_path and call got_worktree_patch_complete only if got_wokrtree_patch_prepare hasn't failed. suggested by stsp@
Omar Polo f2dd7807 2022-05-17T13:28:02 got patch: avoid open/sync/close the fileindex over and over again Instead of flushing the fileindex after every patch in the patchfile just reuse the same fileindex and sync it only at the end of the patch operation. This speeds up 'got patch' on large repositories by quite a lot.
Omar Polo 78f5ac24 2022-03-19T15:06:37 move got_patch file status checking in worktree.c check_file_status used got_worktree_status to check if the file was in an allowed state, but it's wrong since the callback is not invoked on unchanged files. While here also fix a relate bug: unlink(newpath) is in the wrong spot and ends up removing files even when it shouldn't, so move it early in the got_worktree_schedule_* error handling. Finally, update the appropriate test case. It was passing before because got_worktree_schedule_add returned GOT_ERR_FILE_STATUS, not because check_file_status failed. ok stsp@
Stefan Sperling 4e12cd97 2022-01-25T22:48:26 make 'got rm' behave like rm(1) for paths found missing on disk ok millert@
Stefan Sperling 0ff8d236 2021-09-28T06:59:08 show commit progress output when 'got merge -c' is used Otherwise no progress output is shown at all with this command. Commit progress output will also display any additional changes which resulted from conflict resolution. ok millert@
Stefan Sperling f259c4c1 2021-09-24T19:55:02 add a 'got merge' command for creating merge commits Additional testing by Thomas Adam. ok tracey
Christian Weisgerber abc59930 2021-09-05T19:41:03 indentation fixes
Stefan Sperling f6343036 2021-06-22T20:00:44 new -I option for 'got status' to show files which match an ignore pattern
Stefan Sperling e600f124 2021-03-21T19:09:35 ensure that old commits remain referenced after rebase and histedit Create automatic "backup" references which ensure that objects from the pre-rebase or pre-histedit state remain in the repository. A new -l option for 'got rebase' and 'got histedit' lists old commits. This makes it easier to recover from botched rebase or histedit operations. Removal of such objects currently requires got ref -d and git-gc. This will be made more convenient in the future. testing and ok jrick
Stefan Sperling 50b0790e 2020-09-11T17:04:57 add per-worktree got.conf(5) file in the .got directory; ok millert
Stefan Sperling 766841c2 2020-08-13T19:12:57 add -s option to 'got remove' which deletes files in a particular status This makes it easy to deal with files that were deleted from disk by external tooling which modified the work tree. Such files are left in missing (!) status and can now be marked for deletion in bulk via 'got rm -s\! -R .' For consistency, modified (M) files can now be removed with 'got rm -s M' which implies 'got rm -f'. Prompted by feedback from krw@
Stefan Sperling b2118c49 2020-07-28T20:17:19 Add a 'got info' command which displays work tree meta-data. Remove the alias 'got in' for 'got init'. The 'in' alias was too close to either 'init' or 'info'. ok tracey, millert
Stefan Sperling 35213c7c 2020-07-23T14:22:39 forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
Stefan Sperling 5036ab18 2020-04-18T18:40:00 make 'got update' skip conflicted files ok millert@
Stefan Sperling 7f47418f 2019-12-20T15:54:59 make 'got checkout' and 'got update' work with read-only repositories but warn users about the garbage collection problem
Tracey Emery 70e3e7f5 2019-12-13T20:05:57 add -k option to 'got remove' to keep files on disk ok stsp
Stefan Sperling 12463d8b 2019-12-13T11:52:18 address some of the file descriptor vs. path races in status callbacks
Tracey Emery f2a9dc41 2019-12-13T00:29:28 add -R option to 'got remove' for recursive deletion ok stsp
Tracey Emery 022fae89 2019-12-06T16:18:26 Introduce -I to cmd_add to disregard ignores when adding recursively. Expand add.sh tests. Update TODO.
Stefan Sperling 4e68cba3 2019-11-23T10:11:54 add -R option to 'got add' for recursive addition (patch by Tracey Emery)
Stefan Sperling 1ebedb77 2019-10-19T11:06:55 teach 'got commit' to tweak the executable bit of a file
Stefan Sperling 2822a352 2019-10-15T11:38:27 add 'got integrate' command
Stefan Sperling 2a06fe5f 2019-08-24T12:58:07 indicate non-existent paths in 'got status' and make 'got diff' error for them
Stefan Sperling e6209546 2019-08-22T11:12:24 untie cancel callback declaration from the work tree
Stefan Sperling 33aa809d 2019-08-08T18:17:04 implement 'revert -p'
Stefan Sperling 2e1f37b0 2019-08-08T12:04:29 implement 'got unstage -p'
Stefan Sperling a7c9878d 2019-08-08T08:40:38 make stage -p show the number of changes in a file
Stefan Sperling b353a198 2019-08-07T17:40:15 add 'q' response to 'got stage -p'
Stefan Sperling dc424a06 2019-08-07T17:26:35 initial 'got stage -p' implementation
Stefan Sperling ad493afc 2019-08-04T00:52:07 initial 'got unstage' implementation
Stefan Sperling 537ac44b 2019-08-03T15:07:13 pass staged blob ID to status callback
Stefan Sperling 88d0e355 2019-08-03T14:30:32 report staged status via status callback
Stefan Sperling fdfa9bf2 2019-08-03T13:41:43 provide a way for API users to override staged file content
Stefan Sperling 0cb83759 2019-08-03T13:31:03 implement got_worktree_stage_paths()
Stefan Sperling 1e71573e 2019-08-03T13:48:47 make stage worktree API look more like the one for 'add'
Stefan Sperling 5c1e53bc 2019-07-28T11:34:22 add support for multiple path arguments to 'got commit'
Stefan Sperling c3022ba5 2019-07-27T22:15:05 rename "histedit list" to "histedit script" (on-disk filename changed)
Stefan Sperling f2ea84fa 2019-07-27T14:26:10 make 'got update' accept mulitple path arguments
Stefan Sperling 72ea6654 2019-07-27T11:21:56 add support for multiple path arguments to 'got status'
Stefan Sperling 3e3a69f1 2019-07-25T14:25:02 open fileindex just once to make rebase and histedit faster
Stefan Sperling 0ebf8283 2019-07-23T17:39:43 initial 'got histedit' implementation
Stefan Sperling 01757395 2019-07-12T19:40:57 speed up commits during rebase by caching a list of merged paths
Stefan Sperling 1ee397ad 2019-07-12T19:06:56 allow error return from got_worktree_checkout_cb()
Stefan Sperling 818c7501 2019-07-10T18:23:39 initial 'got rebase' implementation
Stefan Sperling a484d721 2019-06-10T12:10:37 don't report base-bump-only updates as 'already up to date'
Stefan Sperling e20a8b6f 2019-06-04T16:35:01 allow multiple file path arguments for 'got revert'
Stefan Sperling 17ed4618 2019-06-02T21:24:17 allow removing multiple paths at once for 'got rm'
Stefan Sperling 2b92fad7 2019-06-02T17:52:19 test and fix expected file status after 'got cherrypick'
Stefan Sperling 234035bc 2019-06-01T13:35:47 add 'got cherrypick' command
Stefan Sperling 8656d6c4 2019-05-20T16:31:38 make struct got_commitable opaque to library users
Stefan Sperling a3df2849 2019-05-20T16:02:16 fix bug reproduced by xfail test 'test_commit_added_subdirs'
Stefan Sperling 024e9686 2019-05-14T13:22:16 add branch support to 'got update'
Stefan Sperling b416585c 2019-05-13T18:19:59 store file's base commit ID in got_commitable and use it for OOD check
Stefan Sperling 016a88dd 2019-05-13T18:02:39 report base commit of fileindex entries to status callback
Stefan Sperling c4e12a88 2019-05-13T17:52:58 rename got_commitable's 'base_id' to 'base_blob_id'; more obvious
joshua stein 33ad4cbe 2019-05-12T19:53:17 implement spawning an editor to collect a commit message bails on empty messages, trims leading and trailing newlines this currently disables the unveil in the commit process because it's not compatible with spawning the editor also prevent commits when there are no changes
Stefan Sperling 1dd54920 2019-05-11T18:50:57 open the file index just once when adding multiple files
Stefan Sperling 36a38700 2019-05-10T14:53:03 stop caching head ref's value in struct got_worktree; may become stale
Stefan Sperling bc70eb79 2019-05-09T15:45:21 fix bug in concurrent commit check and add another commit test
Stefan Sperling afa376bf 2019-05-08T19:18:45 report commit item status
Stefan Sperling de18fc63 2019-05-08T18:37:37 write commit objects
Stefan Sperling c4296144 2019-05-07T10:17:36 WIP commit implementation
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 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 6c34b1aa 2019-03-18T17:25:10 whitespace formatting fixes in include/
Stefan Sperling 6c7ab921 2019-03-18T16:48:18 introduce got_worktree_resolve_path()
Stefan Sperling 3a6ce05a 2019-02-11T12:32:53 check for errors from close(2)
Stefan Sperling 927df6b7 2019-02-10T18:42:29 allow restricting 'got diff' and 'got status' to a path in work tree
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 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 0dbc2271 2019-02-05T16:16:13 make 'got status' detect obstructed files
Stefan Sperling f8d1f275 2019-02-04T14:46:17 add a worktree status API
Stefan Sperling 5d56da81 2019-01-13T17:15:53 happy new copyright year
Stefan Sperling 512f0d0e 2019-01-03T00:57:49 make 'got update' remove files which were deleted
Stefan Sperling be7061eb 2018-12-30T17:30:42 ensure that 'got update' stays on the current branch
Stefan Sperling 507dc3bb 2018-12-29T17:18:51 add a basic 'got update' command; does not merge files yet
Stefan Sperling e5dc7198 2018-12-29T16:07:41 fix 'same path prefix' check during checkout
Stefan Sperling 2fbdb5ae 2018-12-29T15:54:00 remove useless strdup from got_worktree_get_repo_path()
Stefan Sperling 49520a32 2018-12-29T15:51:56 verify path prefix when checking out into existing work tree
Stefan Sperling eecfbcd1 2018-12-29T15:14:24 introduce macros for status codes
Stefan Sperling a0eb853d 2018-12-29T15:12:23 make checkout status char unsigned
Stefan Sperling d7b62c98 2018-12-27T20:40:39 signal existing files in checkout progress output
Stefan Sperling 93a30277 2018-12-24T20:11:47 make got_worktree_checkout_files() infer base commit from meta data
Stefan Sperling 99437157 2018-11-11T12:52:59 abort checkout operations cleanly when Ctrl-C is hit
Stefan Sperling 0c60ce5a 2018-04-02T11:10:05 document the current public API
Stefan Sperling 92a684f4 2018-03-12T21:34:38 show progress during checkout
Stefan Sperling 9d31a1d8 2018-03-11T20:39:31 initial implementation of worktree checkout
Stefan Sperling dc2404d9 2018-03-11T14:28:36 remove got_worktree_change_head() for now
Stefan Sperling 35be1456 2018-03-11T14:27:53 implement got_worktree_get_head_ref_name()
Stefan Sperling 4d94df2d 2018-03-11T01:19:40 rename worktree set_head() operation to change_head()
Stefan Sperling 606778cd 2018-03-11T01:18:45 fileindex update function probably won't be needed after all
Stefan Sperling 577ec78f 2018-03-11T01:15:39 store a path prefix in the worktree; will be used for subtree checkout
Stefan Sperling 281294a5 2018-03-10T17:14:25 add stub for anticipated worktree function which updates fileindex
Stefan Sperling 86c3caaf 2018-03-10T00:22:23 add worktree skeleton code; implement got_worktree_init()