Commit Briefs
sort and de-duplicate work tree path command line arguments
This is important in cases like 'got diff file.txt file.txt' which should only show the diff for file.txt once. suggested by kn@
regress: use gdate/gln if on *BSD
To minimise the amount of churn between the difference in date(1) and ln(n) semantics, use gdate and gln from coreutils.
regress: fix test failures using ln(1)
GNU ln uses -T instead of -h for no-target-directory. OK thomas.adam
add a -q option to tests for quiet output and use it for 'make regress'
Previous default output remains when test cases are run individually. ok tracey
trim directories in got remove -R
This is a racy solution that needs to be properly implemented in the future. ok stsp
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.
make 'got revert' to ignore unversioned files instead of aborting with 'bad path'
and add a regress to check the revert isn't aborted anymore
test and fix 'got revert' with a path in a sub-directory
Relax input path requirements of got_object_id_by_path() to make things easier to callers. Allows the revert code to pass a path from the file index in lieu of a repository path.