Commit Briefs

Thomas Adam

portable: add FreeBSD support

This adds the capability to compile got-portable on FreeBSD.


Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.


Stefan Sperling

fix a bug where files skipped by 'got update' could not be updated again

ok semarie@


Stefan Sperling

fix bug where 'got up -c commit path' deleted unrelated files from work tree

Problem reported by Timo Myyrä


Yang Zhong

add fd field to got_worktree, modify got_fileindex_entry_update to use fds

These changes are intended to make got more compatible with FreeBSD's Capsicum. ok stsp


Christian Weisgerber

use modern POSIX timestamp fields in struct stat

ok stsp











Stefan Sperling

cope with directory entries returned from readdir(3) with type DT_UNKNOWN

Such directory entries need special handling to make our directory traversal code work on filesystems that do not support the d_type optimization. I found this problem because references stored in the refs/ directory were not shown by 'got log' and 'tog log' when a repository is mounted over NFS. helpful feedback + ok millert@


Stefan Sperling

fix ignores when a path is passed to 'got status'

Problem reported by semarie, who also provided initial regression test code. ok semarie



Stefan Sperling

remove file index entries from RB tree upon flush to disk

Fixes a file index corruption problem with 'got rebase' found by tracey. ok tracey




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.