Commits


don't bother opening trees outside of path prefix


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


rename add_file_on_disk() to blob_checkout()


make checkout skip blobs already recorded in file index


introduce macros for status codes


make checkout status char unsigned


signal existing files in checkout progress output


allow checkout on top of an existing tree


always NUL-terminate paths in write_fileindex_path()


fix check for NUL byte in read_fileindex_path()


remove redundant existence check


preparation for idempotent checkout: read exisiting file index


try to sync file index to disk if checkout hits an error


store parsed head reference in struct got_worktree


store base commit of each blob in file index