Commits


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: provide a sed wrapper In order to portably handle the difference in how 'sed -i' works between *BSD and Linux, provide a wrapper to invoke the underying system sed(1) based on which OSTYPE is in use.


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.


fix 'got update' of an added + obstructed file When 'got update' tried to add a new file to the work tree and this file was obstructed by, say, a directory on disk, the update failed: $ got update ? new got: new: Is a directory $ And the work tree was not updated. With this commit this situation is properly detected as an obstruction and the update succeeds: $ got update ~ new Updated to refs/heads/master: c1f85b4938dc4c668a88f13df2b98a520fc077cc File paths obstructed by a non-regular file: 1 $ Extend a corresponding test case to cover this issue. ok tracey


regress: fix test failures using ln(1) GNU ln uses -T instead of -h for no-target-directory. OK thomas.adam


make 'got update' display the worktree's branch name upon success ok tracey


add tests for checkout -q, update -q, and status -S. ok stsp


allow obstructed files skipped by 'got update' to be updated again


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


fix bogus 'permission denied' error when a file at work tree root is removed ok naddy


do not update symlinks which are already up-to-date This fixes spurious 'U' notifications for symlinks during 'got update' that occurred even when the work tree was fully up-to-date. Observed on a work tree of the FreeBSD src repo and reproduced in our test suite by adding a no-op update at the end of a test which deals with updating symlinks.


expand coverage of test_update_single_file: test file deletion during update


fix copy-pasta in test_update_single_file


fix bug where 'got up -c commit path' deleted unrelated files from work tree Problem reported by Timo Myyrä


use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA


consistently label removed files as "/dev/null" in diff headers


switch function declarations from Korn shell to Bourne/POSIX shell syntax ok stsp


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


display more context info in "no such entry found in tree" error messages


remove the symlink conflict header feature; it causes noise for little benefit


handle additional symlink conflicts and report skipping of unversioned files


handle symlink deletion and symlink conflicts during 'got update'


add symlink support to 'got update'


add submodule tests ok semarie


show a summary of conflicts and related problems after updating/merging files ok millert@