Commit Briefs



a46b9f33fb Stefan Sperling

fix a bug where 'got revert -R' failed on added subtrees

The command could fail with "got: no such entry found in tree". This problem is reproduced by the regression test added in this commit. This happened because file index entries were processed in the wrong order by diff_fileindex_dir(). To fix this, keep removed entries in the RB tree and skip them when the file index is written out, rather than removing entries from the RB tree immediately causing side-effects for RB_NEXT and friends.




22902794fc Stefan Sperling

this lseek() call in read_dirlist() isn't needed


7f91a1339f Stefan Sperling

open files during status crawl in a race-free way, too


ae8965b97d Stefan Sperling

add missing fdopendir() error check in read_dirlist()



56e0773df7 Stefan Sperling

convert tree entries from SIMPLEQ to an array




63c5ca5de4 Stefan Sperling

detect and ignore Git submodules




8957ae76fe Stefan Sperling

ensure that file index entry perms map to regular files


3cd0423509 Stefan Sperling

fix definition of GOT_FILEIDX_F_STAGE_SHIFT


0cb83759ff Stefan Sperling

implement got_worktree_stage_paths()



8371870086 Stefan Sperling

define file index stage flags


3f762da016 Stefan Sperling

rename file index entry variables called 'entry' to 'ie'



9714e35f37 Stefan Sperling

remove unused fileindex flags



6f8967eb20 Stefan Sperling

always initialize file index entry's path_len field