lib/worktree.c


Log

Author Commit Date CI Message
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()
Stefan Sperling f2b16ada 2019-08-02T15:50:16 cache path length in struct got_pathlist_entry
Stefan Sperling d572f586 2019-08-02T15:42:42 eliminate strlen() calls during fileindex rb tree searches
Stefan Sperling 5c1e53bc 2019-07-28T11:34:22 add support for multiple path arguments to 'got commit'
Stefan Sperling 9bead371 2019-07-28T10:28:25 relax commit out-of-dateness check: consider file content only
Stefan Sperling e4b9a50c 2019-07-27T23:47:46 read_meta_file() can fstat() instead of lstat() since file is already open
Stefan Sperling a2e6d162 2019-07-27T23:11:03 make GOT_ERR_WORKTREE_META errors show more information
Stefan Sperling c3022ba5 2019-07-27T22:15:05 rename "histedit list" to "histedit script" (on-disk filename changed)
Stefan Sperling a9fa2909 2019-07-27T21:51:52 fix 'got revert' on files in newly added subdirectories
Stefan Sperling 8dc303cc 2019-07-27T17:40:39 eliminate needless 'goto' in worktree_status()
Stefan Sperling 31b4484f 2019-07-27T19:01:01 speed up rebase and histedit path prefix check: skip blob content diffs
Stefan Sperling c02b99b6 2019-07-27T17:31:54 report_file_status() wants an on-disk path
Stefan Sperling abb4604f 2019-07-27T17:28:49 stop supporting ie == NULL case in get_file_status()
Stefan Sperling 26a7fe28 2019-07-27T16:42:04 add conversion functions for fileindex/stat permission bits
Stefan Sperling 339c298e 2019-07-27T16:25:48 undo previous 3 commits; stat is faster than open
Stefan Sperling 3f148bc6 2019-07-27T15:59:48 ensure that st_mode keeps being initialized by get_file_status()
Stefan Sperling c18886c6 2019-07-27T15:51:31 avoid fstat() call if no file index entry exists
Stefan Sperling efdd40df 2019-07-27T15:30:49 do a single open(2) call in get_file_status()
Stefan Sperling 6a263307 2019-07-27T15:10:06 remove an unused field from struct check_rebase_ok_arg
Stefan Sperling f2ea84fa 2019-07-27T14:26:10 make 'got update' accept mulitple path arguments
Stefan Sperling 54817d72 2019-07-27T12:40:05 fix a status bug exposed by test_update_conflict_wt_rm_vs_repo_rm
Stefan Sperling 72ea6654 2019-07-27T11:21:56 add support for multiple path arguments to 'got status'
Stefan Sperling 3f17dee4 2019-07-27T11:08:47 prevent array access with negative index in got_worktree_resolve_path()
Stefan Sperling c577a9ce 2019-07-25T21:06:41 fix 'got status' recursion problems
Stefan Sperling 90e8619e 2019-07-25T19:42:29 make 'got commit' work with a directory path
Stefan Sperling 3e3a69f1 2019-07-25T14:25:02 open fileindex just once to make rebase and histedit faster
Stefan Sperling e0233cea 2019-07-25T13:04:23 fix 'got commit' from work tree with a path prefix
Stefan Sperling 8f8646e5 2019-07-25T12:27:34 list of merged paths for rebase and histedit must not be empty
Stefan Sperling 0ebf8283 2019-07-23T17:39:43 initial 'got histedit' implementation
Stefan Sperling d0710d08 2019-07-22T10:52:48 make got_worktree_resolve_path() handle non-existent paths
Stefan Sperling e2b1e152 2019-07-13T11:00:34 make 'got update' sync cached timestamps of unmodified files
Stefan Sperling fd7a136d 2019-07-13T10:31:11 remove duplicate check in if-statement
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 eb3df2c4 2019-07-12T16:42:30 prevent free(3) of uninitialized variable in rebase error path
Stefan Sperling b50cabdf 2019-07-12T16:36:21 skip out-of-dateness check during rebase for faster commits
Stefan Sperling 877a927c 2019-07-12T16:26:05 fix typo in comments
Stefan Sperling 93ec1b5f 2019-07-12T16:10:16 remove unused argument from update_fileindex_after_commit()
Stefan Sperling 69185643 2019-07-12T16:09:08 remove unused variable in commit_worktree()
Stefan Sperling a0e95631 2019-07-12T16:07:35 use the new commit_worktree() helper function during rebase
Stefan Sperling 1675efa3 2019-07-12T16:07:03 fix double-free introduced during refactoring
Stefan Sperling 39cd0ff6 2019-07-12T15:31:21 move core commit code from got_worktree_commit() to a helper function
Stefan Sperling 347d1d3e 2019-07-12T15:04:27 eliminate redundant fileindex open for status during commit and rebase -a
Stefan Sperling 55bd499d 2019-07-12T14:53:13 don't open file index earlier than needed when aborting rebase
Stefan Sperling ca355955 2019-07-12T14:51:33 oops, sync fileindex again after aborting rebase
Stefan Sperling 267fb255 2019-07-12T14:45:56 revert local changes before checking out files when aborting a rebase
Stefan Sperling a3a2faf2 2019-07-12T14:44:11 use checkout_files() helper in got_worktree_rebase_abort()
Stefan Sperling 711d9cd9 2019-07-12T14:39:07 eliminate a pointless goto in worktree.c
Stefan Sperling 07ed472d 2019-07-12T14:37:39 move core functionality of got_worktree_checkout_files() to a helper
Stefan Sperling 6ced4176 2019-07-12T14:20:33 move a chunk of file checkout code into a separate helper function
Stefan Sperling e642f803 2019-07-12T13:01:51 don't leak redundantly allocated relpath in got_worktree_checkout_files()
Stefan Sperling fb399478 2019-07-12T12:46:29 plug fileindex_path memory leaks