Commits


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


handle conflicted files passed to 'got stage'


implement got diff -s


handle double-staging


make 'got revert' work with staged files


test 'got rm' behaviour on staged files


make 'got status' indicate changes relative to staged files


pass staged blob ID to status callback


show staged file status separately in 'got status'


report staged status via status callback


make got_worktree_stage() expect absolute on-disk paths


make stage worktree API look more like the one for 'add'


provide a way for API users to override staged file content


implement got_worktree_stage_paths()


don't forget to initialize st_mode in revert_file()