|
a8a244dd
|
2022-01-03T11:50:14
|
|
simpler fix equivalent to the previous commit
|
|
5988bab1
|
2022-01-03T11:48:22
|
|
make test_cherrypick_root_commit pass with GOT_TEST_PACK=1
|
|
c861864b
|
2022-01-03T11:34:34
|
|
'got stage' tests rely on unreferenced loose objects; disable GOT_TEST_PACK=1
|
|
6fa5c67c
|
2022-01-03T11:16:56
|
|
remove loose objects if running tests with GOT_TEST_PACK
|
|
0a26275f
|
2022-01-03T11:11:06
|
|
use 'gotadmin pack' instead of 'git repack' if testing with GOT_TEST_PACK
|
|
10b394ac
|
2021-11-23T12:52:59
|
|
regress: make merge.sh more POSIXy
Don't use '==' for equality matching in sh, as this won't work across
all shells.
ok @naddy
|
|
566e0ee7
|
2021-11-22T22:32:25
|
|
regress: make test operands POSIX compliant
Since the interpreter for the regress shell scripts are using /bin/sh
this will usually imply some level of POSIX compliance (that isn't
bash-specific, for instance).
Some systems use dash as their sh shell and as such is stricter POSIX
compliance. To help -portable, make the shell test checks use a single
'=' for equality, rather than '=='.
|
|
0e039681
|
2021-11-15T17:00:36
|
|
preverse binary files during updates and merges
|
|
3d42b266
|
2021-11-03T21:42:33
|
|
switch branches during noop rebases
Always update to the specified branch even if the branch is already
rebased (no commits needed to be rebased, and the branch does not need
a fast forward). With the old behavior of erroring and staying on the
current branch, I sometimes found myself ignoring the error message,
treating it as information and assuming the branch update, and later
on committing on top of origin/main instead of the main branch.
feedback and ok stsp
|
|
92410079
|
2021-10-16T14:50:03
|
|
fix regression where 'got send -T' failed if same tag already exists on server
Problem reported and fix tested by Omar Polo.
|
|
b4e0802f
|
2021-10-14T18:52:27
|
|
FreeBSD's ed(1) does not accept "0i"; use the equivalent "1i" instead
|
|
8f2ca62d
|
2021-10-13T10:34:06
|
|
do not skip ignored directories in 'got status' if they contain tracked files
Fixes regression introduced by commit 41f061b2f459318f3738f59d7676efccc4beb344
where tracked files inside an ignored directory were reported as missing.
|
|
10a623df
|
2021-10-11T18:38:33
|
|
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@
|
|
f10244c0
|
2021-10-11T18:25:11
|
|
fix merging of files which contain a dot on a line by itself
Annoying bug which we inherited from OpenRCS which inherited
it from OpenBSD's diff3 program.
ok tracey millert
|
|
67b631c9
|
2021-10-10T15:22:14
|
|
implement 'got diff -c' for diffing commits with optional filtering by path
Need for filtering by path sugggested by kn@
ok naddy@
|
|
138e4f47
|
2021-10-09T19:47:15
|
|
display the requested object type when an object could not be found
ok millert@
|
|
c1e86b1d
|
2021-10-08T11:53:05
|
|
add an xfail test for a bug in merging content with a dot on a line by itself
|
|
09209b8a
|
2021-10-08T08:34:39
|
|
add test for merge result when lines are inserted at the top of a file
Based on a patch by Omar Polo
|
|
e7ffb0b0
|
2021-10-07T21:13:05
|
|
add support for multiple path arguments to 'got diff'
positive feedback from Omar and kn
ok kn
|
|
41f061b2
|
2021-10-05T14:06:02
|
|
ignore unversioned files while aborting rebase, histedit, merge or operations
ok jrick
|
|
b93c7142
|
2021-10-01T06:22:27
|
|
add histedit -e option which runs the 'edit' script command for every commit
ok jrick
|
|
78caff98
|
2021-09-30T08:24:01
|
|
explicitly set the default branch name after 'git init' in regress tests
We need to do this because newer versions of Git support an arbitrary default
branch name which can be set by users. We don't want tests to fail when this
option is used.
pointed out by Thomas Adam
|
|
1fa49072
|
2021-09-28T21:30:53
|
|
interrupt 'got rebase' upon missing/unversioned/not-deleted files
|
|
c1b05723
|
2021-09-28T20:56:05
|
|
make 'got merge' interrupt the merge upon undeleted and unversioned files
|
|
35ca1db7
|
2021-09-28T20:56:04
|
|
print additional stats about things that went wrong during a merge
|
|
0ff8d236
|
2021-09-28T06:59:08
|
|
show commit progress output when 'got merge -c' is used
Otherwise no progress output is shown at all with this command.
Commit progress output will also display any additional changes
which resulted from conflict resolution.
ok millert@
|
|
088449d3
|
2021-09-26T17:51:38
|
|
implement 'got merge -n' which interrupts before creating a merge commit
|
|
4e91ef15
|
2021-09-26T17:51:35
|
|
make it possible to merge vendor branches with 'got merge'
|
|
5267b9e4
|
2021-09-26T11:41:40
|
|
allow bad symlinks to survive a merge
Commands which perform merges will now install bad symlinks as symlinks
in the work tree, instead of creating them as regular files. This means
bad symlinks committed with 'got commit -S' (or Git) will be preserved.
The decision to introduce a bad symlink is done at commit-time and
merges should not forcefully reverse this decision.
The cherrypick and backout commands require a manual commit step, and
a merge result with bad symlinks will require use of 'got commit -S'.
Additional testing by thomas adam
|
|
f6764181
|
2021-09-24T21:52:59
|
|
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
|
|
1acd48bc
|
2021-09-24T20:47:39
|
|
stop caring about obstructed versioned files in 'got merge'
Tyring to write a test to cover this case I found that obstructed files
are (correctly) detected as local modifications in the work tree. Thus
they trigger the pre-condition check for local modications and 'got merge'
will not even start to do any work in the presence of obstructed files.
|
|
a6a8f8bb
|
2021-09-24T20:05:26
|
|
add a test for 'got merge' which covers a no-op merge situation
|
|
f259c4c1
|
2021-09-24T19:55:02
|
|
add a 'got merge' command for creating merge commits
Additional testing by Thomas Adam.
ok tracey
|
|
3af9de88
|
2021-09-22T13:32:37
|
|
fix 'got send' with tree objects which contain symlinks; reported by Omar
|
|
ad324bf5
|
2021-09-21T20:27:45
|
|
fix histedit_no_op test which was failing randomly
A no-op replayed history ends up having exactly the same commit IDs
if all commits are created at roughly the same moment in time.
There are no content changes involved so if commit timestamps do not
differ then commit hashes will be the same. In which case there is no
fork in history for 'got histedit -l' to display, yet the test was
always expecting a fork in history to be displayed.
Update the test to take this issue into account. The test will now pass
no matter which result is produced by the histedit operation.
Problem found by Lucas who observed that this test was randomly failing.
Patch also provided by Lucas.
|
|
67d7451c
|
2021-09-15T08:29:53
|
|
shell code fixes
Escape sequences are not handled by every echo(1), e.g. not on FreeBSD.
'?' is a glob character and must be quoted.
'!' is not a shell meta character.
ok tracey stsp
|
|
f0fd0aaf
|
2021-09-14T19:21:59
|
|
make 'got send' regression tests run 'git fsck' on all involved repositories
|
|
c2105d00
|
2021-09-14T19:02:10
|
|
fix another instance of 'got send' sending branches the server already has
|
|
e3a46353
|
2021-09-14T16:37:50
|
|
verify that 'got status -s' and 'got status -S' cannot be used together
|
|
4f3c844b
|
2021-09-14T16:12:52
|
|
make 'got update' display the worktree's branch name upon success
ok tracey
|
|
67c65ed7
|
2021-09-14T15:47:30
|
|
add tests for checkout -q, update -q, and status -S. ok stsp
|
|
08e5873e
|
2021-09-14T14:05:27
|
|
make 'got checkout' display the checked out reference and commit ID
ok tracey
|
|
26960ff7
|
2021-09-14T09:52:49
|
|
make 'got send' properly send commits which are referenced only by tags
Problem reported by Omar Polo.
|
|
1b796c3f
|
2021-09-11T08:06:47
|
|
fix a null-pointer deref in 'got fetch -d'; reported by Omar Polo
|
|
678d8c1f
|
2021-09-10T20:55:39
|
|
fix name of temporary directory used by test_fetch_delete_remote_refs
|
|
978a28a1
|
2021-09-04T16:22:38
|
|
make "got branch -d" print reference name and value
Also silence output of "got branch -d" in a regression test, from stsp.
ok stsp
|
|
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.
|
|
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.
|
|
f9756a57
|
2021-08-26T12:30:42
|
|
Use POSIX-compatible syntax in send.sh tests. Patch by naddy@
|
|
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
|
|
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
|
|
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.
|
|
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).
|