|
1cb46f00
|
2020-11-21T15:34:19
|
|
consistently label removed files as "/dev/null" in diff headers
|
|
64453f7e
|
2020-11-21T13:35:00
|
|
handle binary files in got/tog diff commands; add -a options to force text
|
|
dffd0deb
|
2020-11-20T13:57:55
|
|
add a test for diffing binary files; got diff behaves like 'diff -a'
|
|
c27a5e66
|
2020-11-18T13:48:26
|
|
new blame algorithm which compares commit N-1 to N; with help from Neels
|
|
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.
|
|
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
|
|
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.
|
|
7f9bfb31
|
2020-11-01T22:49:19
|
|
replace resolve_commit_arg() helper in got.c with got_repo_match_object_id()
|
|
603cdeb0
|
2020-10-22T20:37:50
|
|
make 'got log' avoid got_repo_map_path() if run in a work tree
ok naddy
|
|
20b7abb3
|
2020-10-22T20:36:23
|
|
detect unknown repository format extensions (such as sha256 format)
ok millert
|
|
54eb00d5
|
2020-10-20T22:25:57
|
|
properly handle nonexistent remote repository names given to 'got fetch'
found by jrick
ok naddy
|
|
4a26d3f8
|
2020-10-07T22:37:48
|
|
fix a bug where 'got status' showed an unchanged empty file as changed
|
|
6b36edd8
|
2020-10-03T19:15:22
|
|
accommodate ls -l implementations that print "total 0" in an empty directory
ok stsp
|
|
6c8da0c6
|
2020-10-03T19:14:53
|
|
rewrite argument parsing with the POSIX getopts shell built-in
ok stsp
|
|
e5a14fe3
|
2020-10-01T20:52:11
|
|
missed one case while changing $() to `` (found by rczlonka)
|
|
743f0d3e
|
2020-10-01T20:52:11
|
|
add quotes around $GOT_TEST_ROOT and avoid mktemp -p; suggested by naddy
|
|
11f4fa81
|
2020-10-01T20:52:11
|
|
allow regress test data to be stored in locations other than /tmp
|
|
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.
|
|
0921e08f
|
2020-09-24T10:49:36
|
|
remove redundant leading slashes from repository path when parsing URIs
|
|
29c68398
|
2020-09-24T00:51:04
|
|
check final repository state in test_histedit_fold_add_delete
|
|
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
|
|
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
|
|
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.
|
|
2a104ff6
|
2020-09-21T23:37:54
|
|
make 'got ref -d' delete both loose and packed representations of the reference
|
|
c8c7d149
|
2020-09-17T18:59:48
|
|
expand arguments in shell script since brace expansion is not in POSIX
ok stsp
|
|
9439a990
|
2020-09-16T20:37:41
|
|
replace ksh syntax with POSIX arithmetic expressions
ok kn stsp
|
|
f6cae3ed
|
2020-09-13T14:05:17
|
|
switch function declarations from Korn shell to Bourne/POSIX shell syntax
ok stsp
|
|
50b0790e
|
2020-09-11T17:04:57
|
|
add per-worktree got.conf(5) file in the .got directory; ok millert
|
|
257add31
|
2020-09-09T23:57:40
|
|
add got.conf(5) configuration file
ok tracey
|
|
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@
|
|
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@
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
b66cd6f3
|
2020-07-31T10:33:34
|
|
display more context info in "no such entry found in tree" error messages
|
|
41806587
|
2020-07-23T14:22:41
|
|
fix missing 'return 1' in commit.sh test failure cases
|
|
283102fc
|
2020-07-23T14:22:41
|
|
remove the symlink conflict header feature; it causes noise for little benefit
|
|
36bf999c
|
2020-07-23T14:22:40
|
|
make 'got unstage -p' work with symlinks
|
|
cf0e59fe
|
2020-07-23T14:22:40
|
|
fix wrong test result check in revert.sh symlink test
|
|
c2677d5d
|
2020-07-23T14:22:40
|
|
fix missing return statements in revert.sh symlink test failure cases
|
|
75f0a0fb
|
2020-07-23T14:22:39
|
|
stop reinstalling symlinks after commit; 'got update' can handle that
|
|
35213c7c
|
2020-07-23T14:22:39
|
|
forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
|
|
ea7786be
|
2020-07-23T14:22:38
|
|
make 'got unstage' work with symlinks
|
|
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.
|
|
369fd7e5
|
2020-07-23T14:22:38
|
|
add support for symlinks to 'got revert -p'
|
|
fa3cef63
|
2020-07-23T14:22:37
|
|
make 'got stage -p' work with symlinks
|
|
0aeb8099
|
2020-07-23T14:22:37
|
|
set a staged file type and handle it separately from the on-disk file type
|
|
c631b115
|
2020-07-23T14:22:36
|
|
make staging of symlinks work
|
|
4901ccfc
|
2020-07-23T14:22:35
|
|
add a test for 'got revert' with symlinks
|
|
3b9f0f87
|
2020-07-23T14:22:35
|
|
handle additional symlink conflicts and report skipping of unversioned files
|
|
c90c8ce3
|
2020-07-23T14:22:35
|
|
preserve unversioned files when merging added symlinks
|
|
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.
|
|
d219f183
|
2020-07-23T14:22:34
|
|
test_cherrypick_symlink_conflicts forgot to run 'got add' on a file; fix this
|
|
88fb31d4
|
2020-07-23T14:22:33
|
|
extend test_commit_symlink test case
|
|
e8863bdc
|
2020-07-23T14:22:33
|
|
add symlink support to 'got import'
|
|
993e2a1b
|
2020-07-23T14:21:31
|
|
handle symlink deletion and symlink conflicts during 'got update'
|
|
11cc08c1
|
2020-07-23T14:21:31
|
|
handle symlink conflicts by installing a file that contains conflict markers
|
|
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.
|
|
5a1fbc73
|
2020-07-23T14:21:30
|
|
make it possible to fix "bad" symlinks with ln -sfh + got commit + got update
|
|
75c30427
|
2020-07-23T14:21:30
|
|
remove debugging test code
|
|
bd6aa359
|
2020-07-23T14:21:30
|
|
convert bad symlinks to regular files during 'got commit'
|
|
3d9a4ec4
|
2020-07-23T14:21:30
|
|
add symlink support to 'got commit'
|
|
af57b12a
|
2020-07-23T14:21:30
|
|
add symlink support to 'got cherrypick'; test non-conflict cases only for now
|
|
23b820a2
|
2020-07-23T14:21:29
|
|
remove unnecessary lines from test_cat_symlink
|
|
73259b37
|
2020-07-23T14:21:29
|
|
add a symlink test for 'got cat'
|
|
40dde666
|
2020-07-23T14:21:29
|
|
add support for symlinks in the repository to 'got diff'
|
|
4135d7d0
|
2020-07-23T14:21:29
|
|
fix symlink change in test_diff_symlinks_in_work_tree
|
|
39449a05
|
2020-07-23T14:21:29
|
|
make 'got diff' show changes to symlinks in a work tree
|
|
7d61d891
|
2020-07-23T14:21:29
|
|
fix checkout of symlinks when a relative work tree path is given
|
|
906c123b
|
2020-07-23T14:21:29
|
|
do not allow symlinks pointing into the .got directory; noticed by semarie
|
|
eb59b6d4
|
2020-07-23T14:21:28
|
|
show path in error message when blaming a symlink pointing to a directory
|
|
0587e10c
|
2020-07-23T14:21:28
|
|
add symlink support to 'got blame' and 'tog blame'
|
|
64773fde
|
2020-07-23T14:21:27
|
|
expand test cases in test_rm_symlink
|
|
d4ae64fa
|
2020-07-23T14:21:27
|
|
extend test_status_symlink to cover removal and modification of symlinks
|
|
a919d5c4
|
2020-07-23T14:21:27
|
|
make 'got rm' work on symlinks; test case written by tracey
|
|
00bb5ea0
|
2020-07-23T14:21:27
|
|
make 'got add' work on symlinks and let 'got status' display them
|
|
f35fa46a
|
2020-07-23T14:21:27
|
|
add symlink support to 'got update'
|
|
0ab20ee9
|
2020-07-23T14:21:27
|
|
fix handling of symlinks to a nonexistent target
|
|
8ba819a3
|
2020-07-23T14:21:27
|
|
let 'got checkout' create symlinks in a work tree
|
|
4da1bbe9
|
2020-07-19T16:14:08
|
|
fix return statement in test_checkout_into_nonempty_dir failure case
|
|
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
|
|
74ad335c
|
2020-06-23T19:17:36
|
|
fix unintended change of current working directory in a test case
|
|
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)
|
|
e7303626
|
2020-05-14T19:27:44
|
|
add submodule tests
ok semarie
|
|
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@
|
|
2e8c69d1
|
2020-05-04T19:37:36
|
|
fix "no such entry found in tree" error with got log -p and an added path
ok millert@
|
|
70551d57
|
2020-04-24T16:23:39
|
|
add a test for rebase file index corruption problem fix in previous commit
ok tracey
|
|
50f2fada
|
2020-04-24T16:22:28
|
|
fix 'got log -r' loading refs from the wrong repo if invoked in a work tree
ok tracey
|
|
b90c3048
|
2020-04-19T09:10:52
|
|
adjust expected "object not found" error output in tests
|
|
d7c4e80d
|
2020-04-19T08:57:07
|
|
fix expected output in clone and fetch tests
|
|
dbec59df
|
2020-04-18T21:24:54
|
|
add 'got log' -R option to reverse commit display order
|
|
9627c110
|
2020-04-18T18:40:01
|
|
show a summary of conflicts and related problems after updating/merging files
ok millert@
|
|
5036ab18
|
2020-04-18T18:40:00
|
|
make 'got update' skip conflicted files
ok millert@
|
|
ceb466a7
|
2020-04-18T11:21:53
|
|
add a test for 'got cherrypick' with existing merge conflicts
|
|
d1fe46f9
|
2020-04-18T10:28:24
|
|
add 'got log' -x option to stop logging when a specific commit was traversed
|
|
cb35d58a
|
2020-04-14T11:46:43
|
|
assign 'ret' explicitly in test_commit_normalizes_filemodes
|
|
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.
|
|
bcf34b0e
|
2020-03-26T17:10:59
|
|
make 'got fetch' restore our copy of the remote HEAD if the copy was deleted
|
|
3789fd73
|
2020-03-26T14:58:16
|
|
make 'got fetch -d' delete branches from both refs/heads and refs/remotes
|