|
d34046a7
|
2021-04-05T11:52:46
|
|
CHANGES for 0.52
|
|
7495ec13
|
2021-04-04T14:24:39
|
|
fix open file descriptor leak in error path of read_object_header_privsep()
|
|
1795b260
|
2021-04-02T23:31:08
|
|
Fix "mandoc -T lint" WARNINGS and ERRORS, add missing word
|
|
1a1242a9
|
2021-04-01T19:28:57
|
|
diff: reduce duplicate code
Condense error checking to reduce a future diff moving those lines around;
this pattern is already used in other parts of the tree.
fine stsp
ok tracey
|
|
ac62b712
|
2021-03-30T14:50:44
|
|
when reading a pack index byte-swap fields at compile-time where possible
suggested by mpi@ ages ago
|
|
6c414261
|
2021-03-30T01:26:42
|
|
cap pack file cache size at 1/8 of the current open file desciptor limit
|
|
61303e6e
|
2021-03-30T01:22:29
|
|
fix off-by-one in got_repo_cache_pack()
|
|
159a21e5
|
2021-03-30T00:48:38
|
|
increase pack index cache size from 16 to 64 to improve performance
This can make a huge difference on repositories which contain more than
16 pack files, at the expense of additional open file handles.
My test case was a ports.git repository with > 60 pack files (these
accumulate due to 'got fetch', and 'git repack -a' would condense them).
With cache size 16 'got update' in /usr/ports took more than 60 seconds.
With cache size 64 the same command took less than 5 seconds.
The root cause is probably that mapping and unmapping large files over
and over again is expensive on OpenBSD.
|
|
4d9042b3
|
2021-03-24T14:17:56
|
|
fix error checking in dial_ssh()
|
|
46be108f
|
2021-03-23T19:07:39
|
|
bump version number
|
|
7674972a
|
2021-03-23T19:04:02
|
|
CHANGES for 0.51
|
|
4cc1f028
|
2021-03-23T15:01:29
|
|
fix use of an uninitialized stat buffer during work tree status crawl
found by naddy
ok naddy jrick
|
|
9e822917
|
2021-03-23T11:39:17
|
|
rebase/histedit -l: error out if no backups for the requested branch exist
|
|
22403ab7
|
2021-03-22T16:20:51
|
|
deltify.c: explicitly include <endian.h> for be64toh()
|
|
6deaf236
|
2021-03-22T11:26:54
|
|
bump version number
|
|
f5999cde
|
2021-03-22T11:26:13
|
|
CHANGES for 0.50
|
|
5df0db63
|
2021-03-22T11:25:43
|
|
sync dist file list
|
|
e3199de8
|
2021-03-21T19:09:35
|
|
fix strftime return value check; found by jrick
|
|
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
|
|
601aba22
|
2021-03-21T19:08:46
|
|
improve got ref -d documentation: mention that objects won't be deleted
ok jrick
|
|
ec6d1a36
|
2021-03-21T18:49:57
|
|
Fix strftime(3) short buffer checks
strftime(3) returns 0 if the buffer was too short to write the
complete string (including NUL) and will never return more than
maxsize-1.
ok stsp
|
|
4e20a648
|
2021-03-21T16:39:29
|
|
Clarify log -x is inclusive
ok stsp
|
|
59d1e4a0
|
2021-03-10T22:49:22
|
|
implement raw object data access; this will be required for packing
|
|
8704c7ce
|
2021-03-10T22:49:21
|
|
add a simple deltify test
|
|
69aa0e90
|
2021-03-10T22:49:21
|
|
substantial rewrite of deltify.c; operate on plain files only
|
|
5788893e
|
2021-03-10T22:49:21
|
|
fix off-by-one error in delta length; from ori
git9 commit fbb2fb7c87d8edf58e22c84f575853dc9de79ac4
|
|
f364801d
|
2021-03-10T22:49:21
|
|
first pass over deltify.c: adapt coding style and data types; make it compile
|
|
2a0e67f7
|
2021-03-10T22:49:21
|
|
Ori has authorized a licence change to OpenBSD's license template
|
|
56e7a15f
|
2021-03-10T22:49:21
|
|
add deltify.c, unmodified from git9, with license header added
|
|
bc62ede8
|
2021-02-26T17:31:35
|
|
use Myers diff instead of Patience diff when merging files with diff3
Myers diff tends to divide files into smaller diff chunks, while Patience
diff attemps to maximize the size of diff chunks. Smaller diffs chunks
generally result in a more managable presentation of merge conflicts.
|
|
9f8221f0
|
2021-02-11T07:46:18
|
|
happy new year
|
|
83b4cfd8
|
2021-02-11T07:36:55
|
|
bump version number
|
|
2664411d
|
2021-02-11T07:32:48
|
|
CHANGES for 0.49
|
|
34d4e04c
|
2021-02-08T13:52:37
|
|
include remote branches in the output of 'got branch -l'
This makes it easier to discover the existence of copies of remote
branches in the local repository, and fixes a missing asterisk in
'got branch -l' while the work tree is switched to a remote branch.
Prompted by feedback from helg, thanks!
|
|
8ea5c997
|
2021-02-07T20:55:39
|
|
got info: fix a pasto in an error message
|
|
9dbd8627
|
2021-02-04T11:11:25
|
|
tolerate tag objects which lack tagger timestamp information
Fixes interop with repos such as git://github.com/steveicarus/iverilog.git
Found by + ok naddy
|
|
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@
|
|
a5a46be2
|
2021-01-27T22:20:52
|
|
in 'got clone', allow -l together with -q, for consistency with 'got fetch'
|
|
7b4f1fcb
|
2021-01-27T22:12:42
|
|
in got.1 fix a 'got branch' example which used obsolete syntax
|
|
c0c4acc8
|
2021-01-24T18:55:17
|
|
tog: fix behaviour when 'n' is pressed before a search was started with '/'
reported by + ok naddy
|
|
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.
|
|
455f928e
|
2021-01-22T22:06:21
|
|
bump version number
|
|
8c6f70b8
|
2021-01-22T22:02:34
|
|
CHANGES for 0.48
|
|
60e40e95
|
2021-01-22T21:53:05
|
|
close file handles before freeing other things in got_worktree_close()
The work tree's path needs to be valid while constructing error messages.
|
|
e7abd6b6
|
2021-01-22T21:47:37
|
|
fix missing close(2) error check in got_worktree_close()
|
|
08578a35
|
2021-01-22T11:05:05
|
|
make close(2) failure checks consistent; check 'close() == -1' everywhere
ok millert, naddy
|
|
56b63ca4
|
2021-01-22T11:04:47
|
|
make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere
ok millert, naddy
|
|
a6b21eef
|
2021-01-21T19:10:08
|
|
add missing braces around multi-line if-statement in got_worktree_close()
|
|
a06ff56f
|
2021-01-21T18:33:50
|
|
fix a use after free()
ok jrick stsp
|
|
56d0a753
|
2021-01-20T21:07:46
|
|
let 'got clone' write gitconfig directives that match the generated got.conf
|
|
1fddf795
|
2021-01-20T20:33:17
|
|
fix 'tog blame' segfault upon empty input file; reported by + ok naddy
|
|
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.
|
|
1255c02f
|
2021-01-05T18:19:07
|
|
remove 'tog ref' todo item; pointed out by naddy
|
|
5aa20203
|
2021-01-05T17:51:49
|
|
document that 'got clone -a' sets 'fetch-all-branches' in got.conf(5)
|
|
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)
|
|
300ea754
|
2021-01-05T15:28:52
|
|
silence a printf in our gitconfig parser; this code shouldn't print to stdout
|
|
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.
|
|
7a90b680
|
2021-01-02T20:57:19
|
|
oops, initialize linesize before calling getline(3); from millert
|
|
9bdd68dd
|
2021-01-02T20:46:01
|
|
replace fparseln(3) with getline(3), for better portability
ok stsp
|
|
e6b8b890
|
2020-12-29T15:12:53
|
|
tog log: terminate author field at '>' in case there is no '@'
ok stsp
|
|
54c39596
|
2020-12-28T17:38:34
|
|
use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA
|
|
c80f5f01
|
2020-12-27T09:36:17
|
|
bump version number
|
|
1252b141
|
2020-12-27T09:35:43
|
|
CHANGES for 0.47
|
|
888b7d99
|
2020-12-26T23:18:45
|
|
make use of a reflist object id map in 'got log'
Impoves performance of 'got log' on the FreeBSD Git repo which can easily
contain more than 4000 references.
|
|
f0ff8d4c
|
2020-12-26T23:14:26
|
|
fix tag object leak introduced in previous commit
|
|
24202e46
|
2020-12-26T23:08:51
|
|
add tagged object IDs to reference list object ID map
Fixes display of "/tags/..." commit ID decorators in tog which was
broken in previous commits.
|
|
a53af95f
|
2020-12-26T23:04:46
|
|
fix error return from got_reflist_object_id_map_create()
|
|
f193b038
|
2020-12-26T22:39:55
|
|
rename got_reflist_object_map_free to got_reflist_object_id_map_free
|
|
dae613fa
|
2020-12-26T21:40:26
|
|
remove a comment that is now misleading
|
|
d9dff0e5
|
2020-12-26T21:32:01
|
|
switch reflist to TAILQ; insert elements more efficiently for sorted input
ok naddy
|
|
87670572
|
2020-12-26T21:15:38
|
|
switch the "tog <path>" log view shortcut to the global reference list, too
ok stsp
|
|
84de9106
|
2020-12-26T20:48:43
|
|
Add a refs argument to got_repo_match_object_id(), replacing 'resolve_tags'
Make use of this where possible to avoid re-reading references from disk.
ok naddy
|
|
8924d611
|
2020-12-26T19:23:06
|
|
switch tog ref view to the global reference list as well
ok naddy
|
|
51a10b52
|
2020-12-26T19:23:06
|
|
make tog store refs and object id map in global variables instead of per view
ok naddy
|
|
cc63216e
|
2020-12-26T12:23:23
|
|
update got.1 CAVEATS section; prompted by feedback from otto@
|
|
d2075bf3
|
2020-12-25T21:38:17
|
|
make use of reflist object id maps in tog log and diff views
This is a partial fix for performance issues when browsing the FreeBSD
Git repo, which can easily contain more than 4000 references.
ok naddy
|
|
7b5b670e
|
2020-12-25T21:38:17
|
|
implement an object ID map for reference lists
ok naddy
|
|
4c4ce67b
|
2020-12-25T21:38:17
|
|
fix assignment to wrong pointer in got_ref_dup()
ok naddy
|
|
838b0131
|
2020-12-21T20:43:23
|
|
bump version number
|
|
22cbd110
|
2020-12-21T20:40:10
|
|
CHANGES for 0.46
|
|
9a02f8b7
|
2020-12-21T12:59:27
|
|
switch to strerror_r(3) in error.c for thread-safety
|
|
c884fd0a
|
2020-12-21T12:59:27
|
|
introduce got_custom_error array to support multiple errors in flight
This is still not thread-safe but at least avoids errors overwriting each
other in single-threaded contexts.
|
|
ccf6dd5e
|
2020-12-19T14:09:38
|
|
avoid signed vs unsigned comparisons in fetch.c
ssizeof() macro idea courtesy of millert@
ok millert@
|
|
c156c7a4
|
2020-12-18T19:19:46
|
|
do not mix up repositories if tog's -r option is used inside a work tree
with input from and ok naddy
|
|
5a8b373c
|
2020-12-18T15:55:18
|
|
fix parsing of tag objects which lack a tag message
This problem could be triggered with the u-boot repository:
$ git clone --bare https://gitlab.denx.de/u-boot/u-boot.git
$ got log -r u-boot.git
got-read-pack: bad object data
got: bad object data
$
|
|
e8bfb8f3
|
2020-12-18T15:52:25
|
|
fix path existence check in got_object_tree_path_changed()
A symptom of this was a segfault in 'got blame distrib/miniroot/install.sub'
with the OpenBSD src.git from github, reported by jrick.
The problem was that the commit graph traversed one commit too far.
This could be more easily reproduced with 'got log':
got log -c 05f568 -P distrib/miniroot/install.sub
Which listed two commits instead of just the first one:
05f568ecc6aadefa1aff9064a29e798874a71409 <-- install.sub first created here
7c0d87f00e480cdf004324dad6f3e6f4418f8f42
"distrib/miniroot" exists in 7c0d87f00e480cdf004324... but not in the parent
of this commit. Ensure that we traverse the full path in tree1 even if an
intermediate tree2 cannot be opened. Instead of reporting success and a file
change if we can't traverse further through tree2, we now hit this failing
attempt to open the file 'install.sub' in tree object 180aa33df8d1 (tree1):
te1 = find_entry_by_name(tree1, seg, seglen);
if (te1 == NULL) {
err = got_error(GOT_ERR_NO_OBJ);
goto done;
}
fix tested and ok jrick
|
|
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
|
|
85f4e1e7
|
2020-12-17T16:17:51
|
|
fix the type of variable 'idx' in update_packidx()
|
|
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/
|
|
6d5a9006
|
2020-12-16T11:16:27
|
|
add fd field to got_repository, modify got_packidx_open to use fds
These changes are intended to make got more compatible with
FreeBSD's Capsicum.
ok stsp
|
|
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
|
|
0d5bb276
|
2020-12-15T23:50:35
|
|
allow editing of log message comments with 'got histedit'
This makes it possible to remove just comment lines from log messages
during a histedit operation, leaving the rest of the log message as-is.
The behaviour of treating changes to comment lines as no-ops was coded
to prevent mistakes during 'got commit/import/tag', where the command
will error out if the log message template is not modified. This is not
appropriate for histedit because histedit is used to fix such mistakes.
ok millert@
|