|
d89fbca5
|
2021-10-16T10:21:34
|
|
CHANGES for 0.62
|
|
8347f8e7
|
2021-10-15T17:17:52
|
|
plug memory leak in an error path of read_packed_object()
|
|
07965a0d
|
2021-10-15T17:08:54
|
|
fix wrong function names in error messages from got-index-pack.c
|
|
802c0f04
|
2021-10-15T17:05:12
|
|
make 'gotadmin indexpack' unveil the repository read/write, not read-only
|
|
0c82d267
|
2021-10-15T15:18:30
|
|
sync with OpenBSD parse.y
Explicitly cast "char" to "unsigned char" when assigned to "int"
to prevent sign extension from breaking comparions against EOF or
passing invalid arguments to ctype functions.
|
|
a319ca8c
|
2021-10-15T10:36:12
|
|
move encode_delta() in pack_create.c to eliminate a forward declaration
|
|
74881701
|
2021-10-15T10:34:44
|
|
while packing, store encoded deltas in a temporary file instead of in memory
|
|
dc20764a
|
2021-10-15T09:30:29
|
|
limit delta chain length in newly created pack files to 32 deltas
Our former limit was 128 which is fairly high. Git uses 50 by default.
A smaller limit results in slightly larger pack files but makes both
packing and unpacking faster.
|
|
94dac27c
|
2021-10-15T09:24:56
|
|
raw object blocksize and read buffer were unused; remove them
|
|
284e7663
|
2021-10-15T09:21:46
|
|
remove unused internal raw object API functions
|
|
d3c116bf
|
2021-10-15T09:10:14
|
|
cache raw objects in order to speed up gotadmin pack
|
|
cc7a354a
|
2021-10-15T07:15:00
|
|
reuse temporary files which were not used by got_object_raw_open()
|
|
f8eebdd4
|
2021-10-15T07:14:24
|
|
add missing calls to got_repo_close() in gotadmin.c
|
|
e65c7410
|
2021-10-14T20:50:01
|
|
add missing error checks in got_object_raw_open()
|
|
600b755e
|
2021-10-14T20:30:26
|
|
avoid opening delta base objects in genpack() just to find their size
|
|
b4e0802f
|
2021-10-14T18:52:27
|
|
FreeBSD's ed(1) does not accept "0i"; use the equivalent "1i" instead
|
|
08347b73
|
2021-10-14T17:27:26
|
|
encode deltas in temporary files to avoid high memory usage
|
|
c5c77d29
|
2021-10-14T17:20:44
|
|
make got-build-regress.sh run tests a second time with GOT_TEST_PACK=1
|
|
5df018ff
|
2021-10-14T16:03:22
|
|
rework murmurhash2() to avoid potential unaligned memory access
pointed out by naddy@
ok millert@
|
|
1d19226a
|
2021-10-13T18:48:15
|
|
fix two more error strings in pack_create.c using the wrong function name
|
|
2d467c6d
|
2021-10-13T18:07:29
|
|
fix wrong function in error string of emitdelta()
|
|
f8b19efd
|
2021-10-13T11:09:15
|
|
use RB_TREE instead of STAILQ to manage packindex bloom filters; much faster
|
|
fc75ac9d
|
2021-10-13T10:35:49
|
|
sync dist file list
|
|
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.
|
|
b343c297
|
2021-10-11T18:54:11
|
|
use a bloom filter to avoid pointless pack index searches
|
|
7a0b1068
|
2021-10-11T18:54:08
|
|
fix pack index cache element rotation; keep often used entries near the front
|
|
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@
|
|
90de04bc
|
2021-10-11T18:32:16
|
|
fix a segfault in edscript() introduced by my previous commit
Found by our cherrypick regression tests.
|
|
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
|
|
2c9e323b
|
2021-10-10T19:26:26
|
|
speed up 'got histedit -l' and 'got rebase -l'
Cache commit timestamps in struct got_reference in case we are sorting
references by commit timestamp. This avoids opening and closing commits
every time we compare two references with each other.
ok thomas.adam
|
|
51ed7429
|
2021-10-10T15:24:21
|
|
align 'diff -c' usage help with synopsis given in man page; suggested by naddy
|
|
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@
|
|
8f83a264
|
2021-10-09T10:09:50
|
|
remove code which was setting up repo_path redundantly from cmd_diff()
|
|
237cfda1
|
2021-10-08T22:34:25
|
|
make got_repo_match_object_id() filter tags by the requested object type
Potentially this function could return objects of a type that was not
requested. Problem found by code inspection.
This change does not affect any of our existing tests.
|
|
8cb8da5b
|
2021-10-08T18:06:08
|
|
document "mg" as alias for the "merge" command
|
|
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
|
|
aaef19b4
|
2021-10-08T08:33:30
|
|
sync files from diff.git 346d4986568ffbcfdc53cce45dd8a468535a68f2
|
|
e7ffb0b0
|
2021-10-07T21:13:05
|
|
add support for multiple path arguments to 'got diff'
positive feedback from Omar and kn
ok kn
|
|
f736d93a
|
2021-10-07T19:12:36
|
|
link to the FastCDC paper from deltify.c; suggested by Ori some time ago
|
|
6eab69f7
|
2021-10-07T19:08:52
|
|
make the number of elements in deltify's geartab explicit
|
|
b06f0b74
|
2021-10-07T15:58:52
|
|
Ignore tags files
OK stsp
|
|
fbceed27
|
2021-10-07T15:38:38
|
|
Provide lib/Makefile to enable tags file generation
The root Makefile does not hook into lib/ via <bsd.subdir.mk> since it
is not a program itself and thus gets included by all others.
This means `make tags` skips lib/ and `make -C lib/ tags` does not know
what to do; provide a minimal <bsd.lib.mk> stub and hook it up just
for the "tags" such that *all* source is browsable via tags.
See /usr/share/mk/bsd.README for details.
Feedback stsp tb
OK tb
|
|
e99d9267
|
2021-10-07T15:29:27
|
|
plug memory leaks in got-fetch-pack and got-send-pack
ok naddy
|
|
dd088d95
|
2021-10-06T19:49:06
|
|
let 'got fetch' send all references to the server to avoid redundant downloads
Problem reported by naddy.
ok naddy
|
|
0c079dbc
|
2021-10-06T06:32:07
|
|
Fix "mandoc -T lint -W style" nits
|
|
b13a4ebc
|
2021-10-06T06:25:16
|
|
Document command aliases in tmux(1) style, add tags for navigation
Complete 95f394e8917def2c11ce292b3a8f804d261b1d12;
reminder to look at gotadmin(1) from stsp, thanks.
|
|
41f061b2
|
2021-10-05T14:06:02
|
|
ignore unversioned files while aborting rebase, histedit, merge or operations
ok jrick
|
|
90e6e620
|
2021-10-04T17:07:46
|
|
Fix "mandoc -T lint -W style got/got.1" nits
|
|
95f394e8
|
2021-10-04T17:05:33
|
|
Document command aliases in tmux(1) style, add tags for navigation
This has the advantage of tags being located right by the full command;
combined with tags ":tco" to search for the `co` alias will jump right
to the `checkout` line, neatly showing everything without needing
further navigation.
tmux hint from Thomas Adam, thanks.
OK stsp
|
|
136be4cc
|
2021-10-03T22:07:59
|
|
update 'got merge' TODO item
|
|
2b8ed9ec
|
2021-10-03T21:30:47
|
|
bump version number
|
|
9d9e459f
|
2021-10-03T21:27:59
|
|
CHANGES for 0.61
|
|
c52bf7fe
|
2021-10-03T21:26:12
|
|
sync dist file list
|
|
62da3196
|
2021-10-01T13:58:31
|
|
skip ignored directories during 'got status' disk crawl
|
|
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
|
|
5d8cbca3
|
2021-09-29T19:53:08
|
|
pull in a type fix from the OpenBSD parse.y template
Original commit message by deraadt:
(unsigned) means (unsigned int) which on ptrdiff_t or size_t or other
larger types really is a range reduction...
Almost any cast to (unsigned) is a bug.
|
|
d683c314
|
2021-09-29T19:43:01
|
|
fix unsigned/signed char mismatch in parse.y
|
|
fa161f0b
|
2021-09-28T21:48:11
|
|
update a CAVEAT in got.1 now that 'got merge' exists
|
|
cd33da48
|
2021-09-28T21:39:34
|
|
interrupt 'got histedit' upon missing/unversioned/not-deleted files
|
|
1fa49072
|
2021-09-28T21:30:53
|
|
interrupt 'got rebase' upon missing/unversioned/not-deleted files
|
|
606719cd
|
2021-09-28T21:29:30
|
|
document all reasons why 'got merge' might be interrupted
|
|
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
|
|
965803d3
|
2021-09-28T20:55:16
|
|
fix 'got fetch' downloading too many objects in some cases
Always announce all local references to the server when fetching changes.
We used to do this only in mirror mode. In regular mode only refs/tags
and refs/remotes/origin were announced, which could result in unnecessary
downloads if relevant objects exist in refs/heads or elsewhere.
|
|
9dd14b99
|
2021-09-28T19:21:34
|
|
got_sha1_digest_to_str() writes to char *
ok stsp
|
|
14af9299
|
2021-09-28T19:21:34
|
|
fix unsigned/signed char mismatch in parse.y
ok stsp
|
|
31e61ec1
|
2021-09-28T19:21:33
|
|
match the unsigned char type used by the zlib interface
ok stsp
|
|
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@
|
|
321a74a5
|
2021-09-27T12:17:19
|
|
garbage-collect unused "dist" target from subdirectory Makefiles
ok stsp
|
|
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'
|
|
5c02d2a5
|
2021-09-26T17:40:10
|
|
for portability, handle errno variations upon open(2) failure with O_NOFOLLOW
Problem pointed out by naddy for FreeBSD -portable.
Discussed with millert, thomas adam, and naddy.
|
|
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
|
|
963ac08a
|
2021-09-25T20:21:10
|
|
match printf specifiers and (cast) types for portability
ok stsp
|
|
474b4982
|
2021-09-25T10:26:25
|
|
whitespace fix from Omar Polo
|
|
030daac8
|
2021-09-25T10:26:13
|
|
fix some integers that had a slightly wrong type; patch by Omar Polo
|
|
50127d69
|
2021-09-25T10:24:15
|
|
add 'static' qualifier to local functions in got-read-pack; patch by Omar Polo
|
|
fda3525e
|
2021-09-25T10:23:12
|
|
mark some function parameters as 'const', as they should be; patch by Omar Polo
|
|
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
|
|
f365d762
|
2021-09-24T20:50:54
|
|
stop using the term 'obstructed' ambiguously in the got.1 man page
Specifically, obstructed files are versioned files which should be on disk
but have been replaced on disk by a non-regular file (e.g. by a directory).
The man page used the phrase "deletion was obstructed" which is unrelated
to the above concept and can be expressed as "deletion was prevented" instead.
|
|
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.
|
|
793fcac3
|
2021-09-24T20:14:09
|
|
plug memory leak in got_worktree_merge_in_progress(); spotted by tracey
|
|
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
|
|
9f98ca05
|
2021-09-24T19:47:15
|
|
show parent commit IDs of merge commits in the tog diff view
ok tracey
|
|
0e5df984
|
2021-09-23T18:03:54
|
|
update TODO note about HTTP; libtls will more likely be used from dial.c
|
|
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.
|
|
34c3415f
|
2021-09-21T20:17:54
|
|
update README blurb about 'ssh 127.0.0.1' requirement for regress tests
|
|
3da8ef85
|
2021-09-21T11:05:06
|
|
tog: use sched_yield(2) instead of pthread_yield(3) for portability
pthread_yield(3) is an optional POSIX 2001 extension while sched_yield(2)
is part of POSIX 2008. On OpenBSD they are actually equivalent, albeit not
documented as such. Using sched_yield(2) helps the -portable version.
Patch by Quentin Rameau
|
|
6062e8ea
|
2021-09-21T10:59:29
|
|
tog: document why _XOPEN_SOURCE_EXTENDED is set and don't undefine it
|
|
ac372b60
|
2021-09-15T17:11:46
|
|
'got status' does not have a -q option; remove it from got.1 synopsis
|
|
df7dea6e
|
2021-09-15T17:08:37
|
|
add -S option to 'got status' synopsis in got.1 man page
|
|
7dd7d39b
|
2021-09-15T09:59:27
|
|
bump version number
|
|
4a87b370
|
2021-09-15T09:55:18
|
|
CHANGES for 0.60
|
|
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
|