lib/worktree.c


Log

Author Commit Date CI Message
Stefan Sperling 5aa81393 2020-01-06T19:38:23 add copyright year for files already touched in 2020
Stefan Sperling e51d7b55 2020-01-04T08:35:17 prevent rebase with an out-of-date work tree
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
Stefan Sperling fdcb7daf 2019-12-15T11:15:48 always unlink merged temporary files if an error occurs
Stefan Sperling 2ad902c0 2019-12-15T11:03:52 use fchmod() instead of chmod() to tweak permissions of a merged temp file
Stefan Sperling 32d2fb48 2019-12-15T10:53:14 add missing error checks to an openat() call
Stefan Sperling 60522982 2019-12-15T10:35:13 fix wrong function names in errno error messages
Stefan Sperling 886cec17 2019-12-15T10:33:27 close races with concurrent filesystem modification when reading ignore files
Tracey Emery 70e3e7f5 2019-12-13T20:05:57 add -k option to 'got remove' to keep files on disk ok stsp
Stefan Sperling ab0d4361 2019-12-13T12:00:10 fix leak in an error path of get_file_status()
Stefan Sperling 882ef1b9 2019-12-13T11:19:26 fix fstatat() and openat() error checking in get_file_status()
Stefan Sperling 3d35a492 2019-12-13T11:10:25 avoid opening the file in get_file_status() if possible
Stefan Sperling 82223ffc 2019-12-13T11:09:40 fix wrong function name in errno error message
Stefan Sperling 12463d8b 2019-12-13T11:52:18 address some of the file descriptor vs. path races in status callbacks
Stefan Sperling 7f91a133 2019-12-13T11:05:04 open files during status crawl in a race-free way, too
Stefan Sperling 6fc93f37 2019-12-13T10:36:41 prevent the status crawl from racing with paths changing in the filesystem
Stefan Sperling f4d199c9 2019-12-13T10:02:48 oops, fix previous
Stefan Sperling 43ff8261 2019-12-13T10:01:49 check for fclose() failure in get_file_status()
Stefan Sperling 1338848f 2019-12-13T09:38:52 open the file just once in get_file_status()
Tracey Emery f2a9dc41 2019-12-13T00:29:28 add -R option to 'got remove' for recursive deletion ok stsp
Stefan Sperling dbb83fbd 2019-12-13T00:27:57 there's no need to store a directory path in struct schedule_addition_args ok tracey
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 56e0773d 2019-11-28T02:32:58 convert tree entries from SIMPLEQ to an array
Stefan Sperling 3fd4eb5a 2019-11-23T10:13:53 fold a function call onto a single line
Stefan Sperling 4e68cba3 2019-11-23T10:11:54 add -R option to 'got add' for recursive addition (patch by Tracey Emery)
Stefan Sperling 6dd1ece6 2019-11-10T11:32:03 when an object id string is bad, include the bad string in the error message
Stefan Sperling 7b5dc508 2019-10-28T10:31:50 fix staging of multiple files with -p ok semarie
Stefan Sperling 8b692cd0 2019-10-21T09:04:57 remove lock files, as intended, when reintegrate gets aborted
Stefan Sperling f69721c3 2019-10-21T09:04:57 show base commit hash and omit filenames in conflict markers
Stefan Sperling 46f68b20 2019-10-19T11:06:56 show file mode differences when diffing trees
Stefan Sperling 523b8417 2019-10-19T11:06:55 handle xbit-only changes during 'got update'
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 bd8de430 2019-10-04T14:51:33 make 'got status' read .gitignore files; support **/ and /**/ in patterns
Hiltjo Posthuma 500467ff 2019-09-25T22:02:03 getline: fix the return type to ssize_t and small nits
Steven McDonald 303e14b5 2019-09-22T16:04:05 Add missing includes for time() and ctime() These headers were implicitly used on OpenBSD, but building on Linux revealed that <time.h> wasn't included directly. diffreg.c uses ctime(), which additionally needs <sys/types.h>.
Stefan Sperling f66c734c 2019-09-22T15:24:34 missing error check in write_tree(); found by jj@ with scan-build
Stefan Sperling 909d120e 2019-09-22T15:21:26 missing errer check in update_blob(); found by jj@ with scan-build
Hiltjo Posthuma d6fca0ba 2019-09-15T13:51:17 check calloc() for NULL return value
Stefan Sperling c9956ddf 2019-09-08T18:13:54 use author name/email from ~/.gitconfig if GOT_AUTHOR is not set
Stefan Sperling 4b55f459 2019-09-08T13:13:37 fix indentation in lib/worktree.c
Stefan Sperling 40b289d7 2019-09-07T12:05:27 make 'got status' ignore inaccessible directories (reported by semarie)
Stefan Sperling 72fd46fa 2019-09-06T17:11:26 fix modified files not shown by 'got status' after committing staged changes
Stefan Sperling cc483380 2019-09-01T13:08:13 fix NULL deref in got_error_from_errno via got_error_uuid (found by jasper)
Hiltjo Posthuma 7f11502c 2019-08-28T18:48:27 fix possible use-after-free in got_worktree_close()
Stefan Sperling 63c5ca5d 2019-08-24T20:56:15 detect and ignore Git submodules
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 0b2899f8 2019-08-18T11:26:15 attribute commits created with git(1) in test suite to Flan Hacker
Sebastien Marie 3d69ad8d 2019-08-17T15:28:04 make 'got revert' to ignore unversioned files instead of aborting with 'bad path' and add a regress to check the revert isn't aborted anymore
Stefan Sperling 5943eee2 2019-08-13T16:58:34 strip Git GPG signatures from log messages
Stefan Sperling 12ce7a6c 2019-08-12T20:56:30 include <limits.h> instead of <sys/limits.h>; patch by Thomas Klausner
Stefan Sperling f1e81a05 2019-08-10T16:57:20 fix bug where 'revert -p' would delete all lines following a reverted change
Stefan Sperling a0de39f3 2019-08-09T11:56:24 fix build on OpenBSD/sparc64 (gcc)
Stefan Sperling b80270a7 2019-08-09T00:12:00 make 'got status' find top-level .cvsignore when invoked from a subdir
Stefan Sperling 6841da00 2019-08-08T23:53:17 add support for .cvsignore files, as found in /usr/ports, to 'got status'
Stefan Sperling e635744c 2019-08-08T18:25:59 merge create_staged_content() and create_reverted_content() helpers
Stefan Sperling 33aa809d 2019-08-08T18:17:04 implement 'revert -p'
Stefan Sperling d3bcc3d1 2019-08-08T17:27:36 make revert of a staged deletion a no-op for better interaction with -R
Stefan Sperling 65084dad 2019-08-08T16:52:12 in revert_file(), only construct on-disk path when actually needed
Stefan Sperling 2163d960 2019-08-08T16:49:36 rename local variable on got_worktree_revert()
Stefan Sperling 1f1abb7e 2019-08-08T16:39:07 implement revert with a status walk to prepare for 'revert -p'
Stefan Sperling af5a81b2 2019-08-08T14:08:34 fix and test repeated stage -p on the same file
Stefan Sperling 8b13ce36 2019-08-08T13:02:20 fix and test stage/unstage with unversioned files
Stefan Sperling 19e4b907 2019-08-08T12:22:52 fix and test 'q' command for unstage -p
Stefan Sperling 2e1f37b0 2019-08-08T12:04:29 implement 'got unstage -p'
Stefan Sperling 14c901f1 2019-08-08T09:25:49 split up worktree.c's merge_blob() into merge_blob() and merge_file()
Stefan Sperling 88f33a19 2019-08-08T08:54:18 ensure that stage -p choice 'q' doesn't skip subsequent files
Stefan Sperling a7c9878d 2019-08-08T08:40:38 make stage -p show the number of changes in a file
Stefan Sperling 2db2652d 2019-08-07T18:25:46 make path arguments to 'got stage' optional
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 3aa5969e 2019-08-06T18:16:41 check the status of specified paths before staging any of them
Stefan Sperling aa9f8247 2019-08-05T10:45:52 simplify a block of code in check_out_of_date()
Stefan Sperling f0b0c0ce 2019-08-04T18:41:02 fix 'mv foo bar; got rm foo; got add bar' and put paths in error messages
Stefan Sperling f032f1f7 2019-08-04T14:10:07 fix and test interaction of rebase/histedit -c and 'got stage'
Stefan Sperling 6d022e97 2019-08-04T12:45:17 use get_worktree_paths_from_argv consistently; improves add/rm edge cases Double 'got rm' becomes a no-op like double 'got add' already is, and 'got add' of an already staged file is now an error.
Stefan Sperling 9bc94a15 2019-08-04T00:57:17 unstage: report new current status for deleted unstaged paths
Stefan Sperling ad493afc 2019-08-04T00:52:07 initial 'got unstage' implementation
Stefan Sperling 5f8a88c6 2019-08-04T00:00:37 make 'got commit' work with changed stanges
Stefan Sperling f0b75401 2019-08-03T22:55:36 fix out-of-date check regression; only commit staged files after 'got stage'
Stefan Sperling a76c42e6 2019-08-03T22:13:28 ensure that 'got update' refuses to update staged files
Stefan Sperling b9622844 2019-08-03T21:49:22 ensure that 'got histedit' refuses to run while shanges are staged
Stefan Sperling 735ef5ac 2019-08-03T21:35:34 reject staging of out-of-date files
Stefan Sperling ebf48fd5 2019-08-03T20:43:55 handle conflicted files passed to 'got stage'
Stefan Sperling 98eaaa12 2019-08-03T20:37:01 implement got diff -s
Stefan Sperling d3e7c587 2019-08-03T17:26:53 handle double-staging
Stefan Sperling 24278f30 2019-08-03T17:16:35 make 'got revert' work with staged files
Stefan Sperling 9acbc4fa 2019-08-03T15:50:08 test 'got rm' behaviour on staged files
Stefan Sperling 244725f2 2019-08-03T15:20:09 make 'got status' indicate changes relative to staged files
Stefan Sperling 537ac44b 2019-08-03T15:07:13 pass staged blob ID to status callback
Stefan Sperling c363b2c1 2019-08-03T14:55:49 show staged file status separately in 'got status'
Stefan Sperling 88d0e355 2019-08-03T14:30:32 report staged status via status callback
Stefan Sperling 42005733 2019-08-03T14:08:24 make got_worktree_stage() expect absolute on-disk paths
Stefan Sperling 1e71573e 2019-08-03T13:48:47 make stage worktree API look more like the one for 'add'
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 7fa0d182 2019-08-03T16:36:22 don't forget to initialize st_mode in revert_file()
Stefan Sperling de426ea6 2019-08-03T15:54:19 schedule_for_deletion(): return success if file is already deleted
Stefan Sperling d6c87207 2019-08-02T16:24:13 require callers to pass path length to got_fileindex_entry_get()