|
0baddd91
|
2021-09-03T09:11:36
|
|
add test which covers a cherrypick merge from a branch to itself
|
|
ed99f061
|
2021-09-03T09:02:06
|
|
add a test case which covers 'got cherrypick' in a mixed-commit work tree
|
|
243a13f5
|
2021-09-02T19:13:50
|
|
fix bogus error when 'got cherrypick' merges changes into a locally added file
reported by + ok naddy
|
|
4c662b1d
|
2021-09-01T13:44:53
|
|
fix test data directory name used by test_histedit_fold_add_delete
|
|
eac1df47
|
2021-09-01T11:06:42
|
|
make 'got send' heed the branch {} options in got.conf(5); they were ignored
ok naddy
|
|
3a6b8760
|
2021-08-31T19:18:37
|
|
use the POSIX-compliant "date -u" command to return UTC time; ok stsp
|
|
dc8256b6
|
2021-08-31T19:18:37
|
|
"got blame" now shows UTC dates, adapt regression test; ok stsp
|
|
6480c871
|
2021-08-30T15:51:23
|
|
provide separate send {} and fetch {} configuration blocks in got.conf
Feature requested by naddy.
ok naddy, who also suggested some tweaks that will arrive shortly
|
|
a9662115
|
2021-08-29T13:01:47
|
|
add missing "return 1" to failure handling in the regress scripts
ok stsp@
|
|
27b75514
|
2021-08-28T10:46:51
|
|
do not send a pack file when 'got send' is only deleting branches
The git protocol spec says the client MUST NOT send a pack file
if the only command used is 'delete'.
Fixes 'got send -d' against Github's server which closed the session
upon receiving the empty pack file we sent. This problem wasn't caught
by regression tests since git-daemon does accept an empty pack file.
Problem reported by jrick.
|
|
2f1457c6
|
2021-08-27T16:48:53
|
|
allow deletion of refs/remotes/ branches with got branch -d
Also, make requirements for branch name arguments more flexible.
Absolute reference names are now accepted.
ok naddy@
|
|
1bd76734
|
2021-08-26T13:41:59
|
|
fix the output of 'got send -d' upon success
Previous output was: Already up-to-date
New output is: Server has deleted refs/heads/branch
Check this behavour in the related regression test.
|
|
f9756a57
|
2021-08-26T12:30:42
|
|
Use POSIX-compatible syntax in send.sh tests. Patch by naddy@
|
|
f8a36e22
|
2021-08-26T12:30:42
|
|
add 'got send' command for sending changes to remote repositories
Known to work against git-daemon and github Git server implementations.
Tests by abieber, naddy, jrick, and myself.
Man page additions reviewed by Lucas.
|
|
3379373c
|
2021-08-26T12:00:16
|
|
use POSIX [ s1 = s2 ] syntax instead of [ s1 == s2 ]
|
|
ef8ec606
|
2021-07-27T13:08:52
|
|
prevent a race where 'gotadmin cleanup' deletes concurrently created objects
|
|
161728eb
|
2021-07-24T09:08:52
|
|
add 'got fetch -X' option for deleting references created by 'got fetch'
|
|
993f033b
|
2021-07-16T11:07:29
|
|
make 'got ref -d' print reference name and value like the new -X options do
|
|
643b85bc
|
2021-07-16T10:47:10
|
|
new -X option for removing backups created by got rebase and got histedit
ok semarie
|
|
6843859a
|
2021-07-09T09:45:36
|
|
display recovery steps in the lonely pack index error message
|
|
ff56836b
|
2021-07-08T10:30:10
|
|
Make 'got add' always require the -I option in order to add ignored files.
|
|
1124fe40
|
2021-07-07T17:21:52
|
|
handle pack index files which lack a corresponding pack file
ok millert
|
|
c294a758
|
2021-07-04T20:57:19
|
|
GOT_TEST_PACK=1 is incompatible with cleanup tests
|
|
9188bd78
|
2021-07-03T22:51:03
|
|
add support for the preciousObjects Git extension to 'gotadmin cleanup'
|
|
e6786710
|
2021-07-03T22:08:15
|
|
mention 'gotadmin cleanup' wherever Git's garbage collector is mentioned
|
|
88ba8483
|
2021-07-03T19:51:55
|
|
ls -1 is a no-op when stdout is redirected to a file; pointed out by naddy
|
|
854ca8a0
|
2021-07-03T19:50:34
|
|
use posix = instead of ==; reminded by naddy
|
|
b3d68e7f
|
2021-07-03T19:49:37
|
|
implement 'gotadmin cleanup'
|
|
8775a682
|
2021-07-03T15:41:31
|
|
use POSIX [ s1 = s2 ] syntax instead of [ s1 == s2 ]
|
|
2c41dce7
|
2021-06-27T15:30:08
|
|
allow obstructed files skipped by 'got update' to be updated again
|
|
a769b60b
|
2021-06-27T09:22:52
|
|
fix a bug where files skipped by 'got update' could not be updated again
ok semarie@
|
|
f6343036
|
2021-06-22T20:00:44
|
|
new -I option for 'got status' to show files which match an ignore pattern
|
|
05118f5a
|
2021-06-22T19:37:20
|
|
implement gotadmin pack, indexpack, and listpack commands
|
|
1c4cdd89
|
2021-06-20T21:07:54
|
|
fix bogus 'permission denied' error when a file at work tree root is removed
ok naddy
|
|
f34b169e
|
2021-06-18T13:28:25
|
|
Allow for skipping the base object header in got_deltify().
|
|
8e09a168
|
2021-06-17T14:26:45
|
|
fix hang in commit regress test. ok stsp
|
|
54d5be07
|
2021-06-03T13:12:58
|
|
fix unrelated changes being merged by got cherrypick/backout/rebase/histedit
This was a long-standing and very annoying bug.
The two xfail tests in the cherrypick test suite are passing now.
|
|
3cd22b21
|
2021-05-31T09:19:13
|
|
add an xfail test for a cherrypick bug where unrelated changes get merged
The test case I am using here is a bit large but I could not yet find a way
to make it smaller. If someone knows a smaller test case, please let me know.
naddy caught a small bug in the new test code I had written, thanks!
|
|
57c18198
|
2021-05-24T18:25:19
|
|
validate reference names in open_ref()
This catches invalid reference names passed to 'got ref -l' and will also be
needed to validate reference names passed to a future 'gotadmin pack' command.
ok naddy@
|
|
cce854ad
|
2021-04-13T09:51:56
|
|
add tests for the bug fixed in commit 1fee9f40e2ed335d4ec8899954b59b43990b97c3
one of these tests is still failing; there is another edge case left to fix
|
|
c6e8a826
|
2021-04-05T17:55:12
|
|
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.
|
|
9e822917
|
2021-03-23T11:39:17
|
|
rebase/histedit -l: error out if no backups for the requested branch exist
|
|
e600f124
|
2021-03-21T19:09:35
|
|
ensure that old commits remain referenced after rebase and histedit
Create automatic "backup" references which ensure that objects from
the pre-rebase or pre-histedit state remain in the repository.
A new -l option for 'got rebase' and 'got histedit' lists old commits.
This makes it easier to recover from botched rebase or histedit operations.
Removal of such objects currently requires got ref -d and git-gc.
This will be made more convenient in the future.
testing and ok jrick
|
|
8704c7ce
|
2021-03-10T22:49:21
|
|
add a simple deltify test
|
|
df3ed485
|
2021-01-31T11:57:10
|
|
simplify the error message shown when 'got rebase' has nothing to do
|
|
28cf319f
|
2021-01-28T17:06:22
|
|
add 'got commit -F' option to commit with a log message stored in a file
To avoid accidents commit -F opens the prepared log message in an editor
so it can be reviewed before the commit is created.
For non-interactive use the -N option is required in addition to -F.
ok millert@
|
|
6e210706
|
2021-01-22T23:49:46
|
|
implicitly mark all files in work tree as up-to-date after 'got integrate'
Avoids having to run 'got update' for no good reason after 'got integrate'.
The same change was made recently for both rebase and histedit in
commit a615e0e7796ea1103a6e0d4b5dbb6134597886660 and we forgot about histedit.
|
|
56b63ca4
|
2021-01-22T11:04:47
|
|
make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
ok millert, naddy
|
|
56d0a753
|
2021-01-20T21:07:46
|
|
let 'got clone' write gitconfig directives that match the generated got.conf
|
|
d51387a0
|
2021-01-19T11:11:16
|
|
expand coverage of test_update_single_file: test file deletion during update
|
|
79775c2f
|
2021-01-19T11:09:49
|
|
fix copy-pasta in test_update_single_file
|
|
194cb7cb
|
2021-01-19T07:38:37
|
|
fix bug where 'got up -c commit path' deleted unrelated files from work tree
Problem reported by Timo Myyrä
|
|
99495ddb
|
2021-01-10T23:48:51
|
|
add a 'reference' directive to remote repositories in got.conf(5)
Make use of this in 'got clone' to persist -R option arguments given on
the command line in the cloned repository's got.conf(5) file.
|
|
0c8b29c5
|
2021-01-05T17:22:14
|
|
add a 'fetch-all-branches' configuration setting to got.conf(5)
Set fetch-all-branches in the got.conf(5) file created by 'got clone -a'
in order to make a future 'got fetch' act like 'got fetch -a' by default.
|
|
98f64f14
|
2021-01-05T17:17:58
|
|
work around spurious ACK responses from git servers in got-fetch-pack
The Git server can apparently send duplicate ACK responses even though we
do not enable the multi_ack capability. According to the Git protocol docs
the server should only send ACKs after receiving 'done' from the client if
multi_ack has been enabled.
However, a duplicate ACK response can be triggered by running 'got fetch -a'
in our fetch_update_tag test. This resulted in the following error:
got-fetch-pack: unknown side-band received from server
got: bad packet received
|
|
132af4a5
|
2021-01-05T15:30:44
|
|
store all branches passed via 'got clone -b' in got.conf(5) and git-config(1)
|
|
612392ee
|
2021-01-05T14:01:16
|
|
allow the 'got fetch' -l option together with the -q option
Make use of this in tests to hide useless output from ssh(1).
|
|
15d3c221
|
2021-01-05T13:47:37
|
|
make 'got clone' pin the fetched branch in got.conf(5)
Avoids relying on the server-side HEAD ref by default during future fetches.
|
|
54c39596
|
2020-12-28T17:38:34
|
|
use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA
|
|
a4153d5b
|
2020-12-17T23:13:10
|
|
more concise fix for path_list_reverse_input() crash; suggested by millert
|
|
8891c2ab
|
2020-12-17T20:46:54
|
|
fix crash in path_list_reverse_input() after switch to unsigned loop index
|
|
6059809a
|
2020-12-17T15:54:47
|
|
use size_t for loop indices to avoid signedness warnings; by emaste@freebsd
Same change as 16aeacf7088d, for subdirectories other than lib/
|
|
a615e0e7
|
2020-12-16T00:08:58
|
|
implicitly mark all files in work tree as up-to-date after rebase/histedit
This should always be correct, since rebase and histedit start out with a
clean and single-base-commit worktree, and end up committing all changes
across the entire work tree when they are successful.
tested by jrick and myself
|
|
a347e6bb
|
2020-12-13T13:19:10
|
|
test behaviour of histedit -f with an empty log message
|
|
239f5c5a
|
2020-12-13T13:11:23
|
|
add a basic test case for histedit -f
|
|
c5fdccbf
|
2020-12-10T08:08:42
|
|
fix expected output of test_tree_submodule_of_same_repo for packed repos
|
|
578133c9
|
2020-11-28T18:28:10
|
|
replace echo with printf, stop option processing with "--" for portability
ok stsp
|
|
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.
|