regress/cmdline


Log

Author Commit Date CI Message
Christian Weisgerber 578133c9 2020-11-28T18:28:10 replace echo with printf, stop option processing with "--" for portability ok stsp
Stefan Sperling 1cb46f00 2020-11-21T15:34:19 consistently label removed files as "/dev/null" in diff headers
Stefan Sperling 64453f7e 2020-11-21T13:35:00 handle binary files in got/tog diff commands; add -a options to force text
Stefan Sperling dffd0deb 2020-11-20T13:57:55 add a test for diffing binary files; got diff behaves like 'diff -a'
Stefan Sperling c27a5e66 2020-11-18T13:48:26 new blame algorithm which compares commit N-1 to N; with help from Neels
Stefan Sperling fe621944 2020-11-10T22:54:37 merge new diff implementation from the git.gameoftrees.org diff.git repository This new diff implementation was started by Neels Hofmeyr during the u2k20 hackathon and now replaces diffreg.c code lifted from the OpenBSD base system. The integration of this code into Got was done by me. Got now uses the patience diff algorithm by default. The diff.git repository will remain the primary repository for the diff code, which already compiles and runs on other operating systems such as Linux. Any fixes and improvements for files inherited from the diff.git repository should be written against that repository and synced to got.git afterwards.
Stefan Sperling f6d8c0ac 2020-11-09T16:04:18 fix replacing symlinks with files And add a test case which verifies that the inverse also works, i.e. a symlink being replaced with a regular file. problem reported and fix tested by jrick
Stefan Sperling 9314b9f4 2020-11-06T21:12:26 test case for 'got integrate' failing if symlink changes to file; patch by jrick This test verifies the current behaviour, even though it is not the most desirable behaviour.
Stefan Sperling 7f9bfb31 2020-11-01T22:49:19 replace resolve_commit_arg() helper in got.c with got_repo_match_object_id()
Stefan Sperling 603cdeb0 2020-10-22T20:37:50 make 'got log' avoid got_repo_map_path() if run in a work tree ok naddy
Stefan Sperling 20b7abb3 2020-10-22T20:36:23 detect unknown repository format extensions (such as sha256 format) ok millert
Stefan Sperling 54eb00d5 2020-10-20T22:25:57 properly handle nonexistent remote repository names given to 'got fetch' found by jrick ok naddy
Stefan Sperling 4a26d3f8 2020-10-07T22:37:48 fix a bug where 'got status' showed an unchanged empty file as changed
Christian Weisgerber 6b36edd8 2020-10-03T19:15:22 accommodate ls -l implementations that print "total 0" in an empty directory ok stsp
Christian Weisgerber 6c8da0c6 2020-10-03T19:14:53 rewrite argument parsing with the POSIX getopts shell built-in ok stsp
Stefan Sperling e5a14fe3 2020-10-01T20:52:11 missed one case while changing $() to `` (found by rczlonka)
Stefan Sperling 743f0d3e 2020-10-01T20:52:11 add quotes around $GOT_TEST_ROOT and avoid mktemp -p; suggested by naddy
Stefan Sperling 11f4fa81 2020-10-01T20:52:11 allow regress test data to be stored in locations other than /tmp
Stefan Sperling a9c2d4c2 2020-09-24T10:53:18 fix default branch name written to Git config file by 'got clone' The generated Git config file instructed Git to fetch all branches rather than the default branch as was intended. Check generated configuration files in all clone tests in order to catch such problems in the future.
Stefan Sperling 29c68398 2020-09-24T00:51:04 check final repository state in test_histedit_fold_add_delete
Stefan Sperling 0a22ca1a 2020-09-23T22:31:00 make 'got histedit' collapse folded add+delete operations into a no-op If a merged commit wants to delete a locally added file, and this locally added file matches the content which was deleted in the commit being merged, we can go ahead with the deletion because there is no risk of data loss. fixes the histedit problem reported by jrick on freenode
Stefan Sperling ecfff807 2020-09-23T19:10:15 add an xfail test for a histedit issue where a deleted file remains If a previous commit introduces a new file, and it is folded into a commit that deletes the same file, the file still exists after the histedit. reported by jrick on freenode
Stefan Sperling 48cae60d 2020-09-22T00:03:02 make dangling symbolic references show up in 'got ref -l' Storing a resolved ID for each reference list item was a bad idea. This ID cannot be resolved if a symbolic references points to a reference which does not exist. Such symrefs were skipped by got ref -l as a result. Just let users of reference lists resolve the IDs as needed.
Stefan Sperling 2a104ff6 2020-09-21T23:37:54 make 'got ref -d' delete both loose and packed representations of the reference
Christian Weisgerber c8c7d149 2020-09-17T18:59:48 expand arguments in shell script since brace expansion is not in POSIX ok stsp
Christian Weisgerber 9439a990 2020-09-16T20:37:41 replace ksh syntax with POSIX arithmetic expressions ok kn stsp
Christian Weisgerber f6cae3ed 2020-09-13T14:05:17 switch function declarations from Korn shell to Bourne/POSIX shell syntax ok stsp
Stefan Sperling 50b0790e 2020-09-11T17:04:57 add per-worktree got.conf(5) file in the .got directory; ok millert
Stefan Sperling 257add31 2020-09-09T23:57:40 add got.conf(5) configuration file ok tracey
Stefan Sperling 766841c2 2020-08-13T19:12:57 add -s option to 'got remove' which deletes files in a particular status This makes it easy to deal with files that were deleted from disk by external tooling which modified the work tree. Such files are left in missing (!) status and can now be marked for deletion in bulk via 'got rm -s\! -R .' For consistency, modified (M) files can now be removed with 'got rm -s M' which implies 'got rm -f'. Prompted by feedback from krw@
Stefan Sperling 081470ac 2020-08-13T19:12:57 add -s option to 'got status' which acts as a status code filter Advantages over using grep are that the list of codes is validated against a list of known status codes, and that it is easier to match staged files which can display status codes in one or both of two columns. Prompted by feedback from krw@
Stefan Sperling 7fb414ae 2020-08-08T07:34:47 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
Stefan Sperling 502b9684 2020-07-31T15:36:42 make 'got log' -R and -P options work in combination With -R, the -P option did not show any paths. Regression test added here demonstrates the problem.
Stefan Sperling f2b0a8b0 2020-07-31T12:54:34 fix committing file additions from a work tree with a path prefix New files were added under the wrong tree in the repository if the work tree has a path prefix. Fix this problem and catch it in the existing commit_with_path_prefix regression test.
Stefan Sperling 69d57f3d 2020-07-31T11:19:29 fix spurious 'got cherrypick' error with a path prefix and an empty tree If the work tree's path prefix does not exist in the first of the two trees, then 'got cherrypick' failed with "no such entry found in tree". But this is a legitimate situation, as shown in the new test added here. The first tree could be the empty tree, for example, which should result in 'got cherrypick' adding all files from the second tree instead of complaining about a non-existent path-prefix directory in the first tree.
Stefan Sperling b66cd6f3 2020-07-31T10:33:34 display more context info in "no such entry found in tree" error messages
Stefan Sperling 41806587 2020-07-23T14:22:41 fix missing 'return 1' in commit.sh test failure cases
Stefan Sperling 283102fc 2020-07-23T14:22:41 remove the symlink conflict header feature; it causes noise for little benefit
Stefan Sperling 36bf999c 2020-07-23T14:22:40 make 'got unstage -p' work with symlinks
Stefan Sperling cf0e59fe 2020-07-23T14:22:40 fix wrong test result check in revert.sh symlink test
Stefan Sperling c2677d5d 2020-07-23T14:22:40 fix missing return statements in revert.sh symlink test failure cases
Stefan Sperling 75f0a0fb 2020-07-23T14:22:39 stop reinstalling symlinks after commit; 'got update' can handle that
Stefan Sperling 35213c7c 2020-07-23T14:22:39 forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
Stefan Sperling ea7786be 2020-07-23T14:22:38 make 'got unstage' work with symlinks
Stefan Sperling b7422a2f 2020-07-23T14:22:38 stop using realpath(3) to resolve a symlink target in install_symlink() We should not resolve a symlink target path recursively when installing a symlink in the work tree. We want to handle this symlink's target, not the end result of following a chain of symlinks in case such links already exist.
Stefan Sperling 369fd7e5 2020-07-23T14:22:38 add support for symlinks to 'got revert -p'
Stefan Sperling fa3cef63 2020-07-23T14:22:37 make 'got stage -p' work with symlinks
Stefan Sperling 0aeb8099 2020-07-23T14:22:37 set a staged file type and handle it separately from the on-disk file type
Stefan Sperling c631b115 2020-07-23T14:22:36 make staging of symlinks work
Stefan Sperling c90c8ce3 2020-07-23T14:22:35 preserve unversioned files when merging added symlinks
Stefan Sperling 4901ccfc 2020-07-23T14:22:35 add a test for 'got revert' with symlinks
Stefan Sperling 3b9f0f87 2020-07-23T14:22:35 handle additional symlink conflicts and report skipping of unversioned files
Stefan Sperling fba9f79c 2020-07-23T14:22:34 restore unversioned file test case in test_cherrypick_symlink_conflicts One part of current behaviour is to delete an unversioned file and replace it with a symlink; that's very bad in case the user wants to keep the file.
Stefan Sperling d219f183 2020-07-23T14:22:34 test_cherrypick_symlink_conflicts forgot to run 'got add' on a file; fix this
Stefan Sperling 88fb31d4 2020-07-23T14:22:33 extend test_commit_symlink test case
Stefan Sperling e8863bdc 2020-07-23T14:22:33 add symlink support to 'got import'
Stefan Sperling 993e2a1b 2020-07-23T14:21:31 handle symlink deletion and symlink conflicts during 'got update'
Stefan Sperling 11cc08c1 2020-07-23T14:21:31 handle symlink conflicts by installing a file that contains conflict markers
Stefan Sperling e26bafba 2020-07-23T14:21:31 add cherrypick test for symlink conflict cases This test accepts the current behaviour, even though the current behaviour isn't ideal in some cases.
Stefan Sperling 5a1fbc73 2020-07-23T14:21:30 make it possible to fix "bad" symlinks with ln -sfh + got commit + got update
Stefan Sperling 75c30427 2020-07-23T14:21:30 remove debugging test code
Stefan Sperling bd6aa359 2020-07-23T14:21:30 convert bad symlinks to regular files during 'got commit'
Stefan Sperling 3d9a4ec4 2020-07-23T14:21:30 add symlink support to 'got commit'
Stefan Sperling af57b12a 2020-07-23T14:21:30 add symlink support to 'got cherrypick'; test non-conflict cases only for now
Stefan Sperling 40dde666 2020-07-23T14:21:29 add support for symlinks in the repository to 'got diff'
Stefan Sperling 4135d7d0 2020-07-23T14:21:29 fix symlink change in test_diff_symlinks_in_work_tree
Stefan Sperling 39449a05 2020-07-23T14:21:29 make 'got diff' show changes to symlinks in a work tree
Stefan Sperling 7d61d891 2020-07-23T14:21:29 fix checkout of symlinks when a relative work tree path is given
Stefan Sperling 906c123b 2020-07-23T14:21:29 do not allow symlinks pointing into the .got directory; noticed by semarie
Stefan Sperling 23b820a2 2020-07-23T14:21:29 remove unnecessary lines from test_cat_symlink
Stefan Sperling 73259b37 2020-07-23T14:21:29 add a symlink test for 'got cat'
Stefan Sperling eb59b6d4 2020-07-23T14:21:28 show path in error message when blaming a symlink pointing to a directory
Stefan Sperling 0587e10c 2020-07-23T14:21:28 add symlink support to 'got blame' and 'tog blame'
Stefan Sperling 64773fde 2020-07-23T14:21:27 expand test cases in test_rm_symlink
Stefan Sperling d4ae64fa 2020-07-23T14:21:27 extend test_status_symlink to cover removal and modification of symlinks
Stefan Sperling a919d5c4 2020-07-23T14:21:27 make 'got rm' work on symlinks; test case written by tracey
Stefan Sperling 00bb5ea0 2020-07-23T14:21:27 make 'got add' work on symlinks and let 'got status' display them
Stefan Sperling f35fa46a 2020-07-23T14:21:27 add symlink support to 'got update'
Stefan Sperling 0ab20ee9 2020-07-23T14:21:27 fix handling of symlinks to a nonexistent target
Stefan Sperling 8ba819a3 2020-07-23T14:21:27 let 'got checkout' create symlinks in a work tree
Stefan Sperling 4da1bbe9 2020-07-19T16:14:08 fix return statement in test_checkout_into_nonempty_dir failure case
Stefan Sperling 3143d852 2020-06-25T06:53:54 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 74ad335c 2020-06-23T19:17:36 fix unintended change of current working directory in a test case
Stefan Sperling 7aadece8 2020-05-17T08:23:19 allow creation of commits which carry unmodified submodule tree entries along approach suggested by ori@ and matches how git9 behaves ok semarie@ (who can now work with Rust-related Git repos containing submodules)
Stefan Sperling e7303626 2020-05-14T19:27:44 add submodule tests ok semarie
Stefan Sperling 0208f208 2020-05-05T09:53:57 show a list of paths changed in a commit with 'got log -P', and in tog requested by matthieu@
Stefan Sperling 2e8c69d1 2020-05-04T19:37:36 fix "no such entry found in tree" error with got log -p and an added path ok millert@
Stefan Sperling 70551d57 2020-04-24T16:23:39 add a test for rebase file index corruption problem fix in previous commit ok tracey
Stefan Sperling 50f2fada 2020-04-24T16:22:28 fix 'got log -r' loading refs from the wrong repo if invoked in a work tree ok tracey
Stefan Sperling b90c3048 2020-04-19T09:10:52 adjust expected "object not found" error output in tests
Stefan Sperling d7c4e80d 2020-04-19T08:57:07 fix expected output in clone and fetch tests
Stefan Sperling dbec59df 2020-04-18T21:24:54 add 'got log' -R option to reverse commit display order
Stefan Sperling 9627c110 2020-04-18T18:40:01 show a summary of conflicts and related problems after updating/merging files ok millert@
Stefan Sperling 5036ab18 2020-04-18T18:40:00 make 'got update' skip conflicted files ok millert@
Stefan Sperling ceb466a7 2020-04-18T11:21:53 add a test for 'got cherrypick' with existing merge conflicts
Stefan Sperling d1fe46f9 2020-04-18T10:28:24 add 'got log' -x option to stop logging when a specific commit was traversed
Stefan Sperling cb35d58a 2020-04-14T11:46:43 assign 'ret' explicitly in test_commit_normalizes_filemodes
Stefan Sperling f7b97ccb 2020-04-14T11:37:39 normalize tree entry modes to 0100644 or 0100755 when writing tree objects semarie@ reported an error from go-git used by Cirrus CI: "57243613255d758e15b0f5ae1c960b970f0435f8: malformed mode (0100640)!" 'git fsck' has no problem with mode 0100640. But writing just the two most commonly used file modes should provide the best compatibility.
Stefan Sperling bcf34b0e 2020-03-26T17:10:59 make 'got fetch' restore our copy of the remote HEAD if the copy was deleted
Stefan Sperling 3789fd73 2020-03-26T14:58:16 make 'got fetch -d' delete branches from both refs/heads and refs/remotes