|
9b576444
|
2022-03-14T13:22:20
|
|
cache a list of known pack index files when the repository is opened
Avoids overhead due to readdir calls while searching a pack index.
ok op@
|
|
67fd6849
|
2022-02-13T00:10:25
|
|
reuse existing deltas when creating pack files
tested by thomas, naddy, and myself
|
|
d3c116bf
|
2021-10-15T09:10:14
|
|
cache raw objects in order to speed up gotadmin pack
|
|
f8b19efd
|
2021-10-13T11:09:15
|
|
use RB_TREE instead of STAILQ to manage packindex bloom filters; much faster
|
|
b343c297
|
2021-10-11T18:54:11
|
|
use a bloom filter to avoid pointless pack index searches
|
|
abc59930
|
2021-09-05T19:41:03
|
|
indentation fixes
|
|
1124fe40
|
2021-07-07T17:21:52
|
|
handle pack index files which lack a corresponding pack file
ok millert
|
|
6c414261
|
2021-03-30T01:26:42
|
|
cap pack file cache size at 1/8 of the current open file desciptor limit
|
|
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.
|
|
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
|
|
20b7abb3
|
2020-10-22T20:36:23
|
|
detect unknown repository format extensions (such as sha256 format)
ok millert
|
|
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
|
|
66cba96f
|
2020-03-18T16:11:27
|
|
use GOT_OBJECTS_PACK_DIR instead of variants of the same which contain typos
|
|
9a1cc63f
|
2020-02-03T09:18:40
|
|
read repository owner name with gitconfig parser instead of a hand-rolled one
|
|
e1a68182
|
2020-01-07T17:49:17
|
|
fix pack index cache; don't open/close pack index files needlessly
|
|
cd95becd
|
2019-11-29T02:46:04
|
|
parse remotes from gitconfig
|
|
c9956ddf
|
2019-09-08T18:13:54
|
|
use author name/email from ~/.gitconfig if GOT_AUTHOR is not set
|
|
aba9c984
|
2019-09-08T17:14:34
|
|
obtain repo format version and commit author name/email from .git/config
|
|
1d126e2d
|
2019-08-24T14:39:58
|
|
add support for reading .git/config; parser was based on isakmpd/conf.c
|
|
f6912001
|
2019-05-15T06:51:55
|
|
spawn more pack file helpers again now that leaks got fixed
/usr/src updates have become slower for some reason and my best
guess is that caching of packed data has become less effective
with df613bb4d8662c28a9888714a80ca572bff9d924 (leaks were
subsequently fixed by 2cb49fa8fb84f3a8fc2eb6036a6bd9b64c57e347
and by 0dd5271bd8f2a4f92ac3536fcc493eebc39b86e5)
|
|
df613bb4
|
2019-05-10T19:21:28
|
|
fork less pack file readers to avoid running into ulimits
|
|
f4a881ce
|
2018-11-17T16:04:05
|
|
more support for tag objects; new code is not yet reachable
|
|
41fa1437
|
2018-11-05T15:30:15
|
|
back out mini-commits; no significant performance difference
|
|
05e1230b
|
2018-11-05T12:42:03
|
|
rename got_commit_object_mini to got_mini_commit_object
|
|
e32baab7
|
2018-11-05T12:39:49
|
|
add an object cache for mini commits
|
|
eb463357
|
2018-09-11T18:29:31
|
|
reduce pack cache size; avoids opening more than 128 fds
|
|
6bef87be
|
2018-09-11T11:23:44
|
|
move object cache out of repository.c to its own file
|
|
876c234b
|
2018-09-10T12:30:47
|
|
start reading pack files with privsep; still WIP
|
|
1510f469
|
2018-09-09T16:33:32
|
|
move pack caching code from pack.c to repository.c
|
|
3516b818
|
2018-09-08T17:42:23
|
|
init ibuf only once for the lifetime of a privsep child
|
|
ad242220
|
2018-09-08T16:40:28
|
|
implement fork+exec (and by the way, fix the build...)
|
|
eb77ee11
|
2018-07-08T18:06:36
|
|
add an object id cache which backs the object cache
|
|
0a554478
|
2018-06-22T12:17:35
|
|
reduce object cache sizes
|
|
4307e577
|
2018-06-22T11:04:15
|
|
size object caches independently of each other
|
|
1943de01
|
2018-06-22T10:46:10
|
|
add a commit cache as well
|
|
a9bf0c2c
|
2018-06-22T10:35:09
|
|
no need to manually count elements of a set
|
|
f6be5c30
|
2018-06-22T10:33:04
|
|
add a tree object cache to struct got_repository
|
|
54f20211
|
2018-06-22T10:00:23
|
|
introduce struct got_object_cache
|
|
ebfa99d6
|
2018-06-22T09:55:50
|
|
remove unused field of struct got_objcache_entry
|
|
50bc349d
|
2018-06-22T09:54:10
|
|
implement repository object cache via object_idset
|
|
7bb0daa1
|
2018-06-22T01:53:06
|
|
add a very simple object cache
|
|
6fd11751
|
2018-06-04T18:02:06
|
|
turns out on-disk path of pack file may not match its hash
Fixes reading a repo with a pack idx and file dated June 2011,
where the filename does not contain the actual packfile SHA1.
|
|
6c6d3ed3
|
2018-04-02T11:34:26
|
|
fix obsolete comment in struct got_repository definition
|
|
718b3ab0
|
2018-03-17T17:50:48
|
|
rename the library-internal headers again to a common prefix
|