Commits


in revert_file(), only construct on-disk path when actually needed


rename local variable on got_worktree_revert()


implement revert with a status walk to prepare for 'revert -p'


fix and test repeated stage -p on the same file


fix and test stage/unstage with unversioned files


fix and test 'q' command for unstage -p


implement 'got unstage -p'


split up worktree.c's merge_blob() into merge_blob() and merge_file()


ensure that stage -p choice 'q' doesn't skip subsequent files


make stage -p show the number of changes in a file


make path arguments to 'got stage' optional


add 'q' response to 'got stage -p'


initial 'got stage -p' implementation


check the status of specified paths before staging any of them


simplify a block of code in check_out_of_date()


fix 'mv foo bar; got rm foo; got add bar' and put paths in error messages


fix and test interaction of rebase/histedit -c and 'got stage'


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.


unstage: report new current status for deleted unstaged paths


initial 'got unstage' implementation


make 'got commit' work with changed stanges


fix out-of-date check regression; only commit staged files after 'got stage'


ensure that 'got update' refuses to update staged files


ensure that 'got histedit' refuses to run while shanges are staged


reject staging of out-of-date files