Commits


implement checkout+update as single-pass diff between file index and tree


fix a path matching bug in collect_missing_file()


replace use of got_pathset in worktree code with RB tree


use RB tree directly instead of a pathset in file index code


switch file index entries from TAILQ to got_pathset


mark got_pathset iteration functions as safe


remove entry from file index after removing on-disk file, not before


whitespace


stop trying to remove parents if a non-empty parent is traversed


properly remove empty directories left behind during updates


must use safe iteration over file index entries


make 'got update' remove directories in a checkout with path prefix


rename misleadinly named field in struct collect_missing_entry_args


improve wording of a comment in tree_checkout()


make 'got update' remove empty directories


make got_repo_get_path() return const char *


make 'got update' remove files which were deleted


ensure that 'got update' stays on the current branch


add a basic 'got update' command; does not merge files yet


fix 'same path prefix' check during checkout


fix got_worktree_get_repo_path()


remove useless strdup from got_worktree_get_repo_path()


verify path prefix when checking out into existing work tree


don't bother opening trees outside of path prefix


don't bother opening a blob if checkout will skip it