1 4408b20f 2021-08-26 stsp got:
2 b87752b7 2021-10-04 thomas - Teach 'got merge' to merge changes into an arbitrary subdirectory
3 b87752b7 2021-10-04 thomas of the work tree. This would be nice for merging vendor branches.
4 b87752b7 2021-10-04 thomas Say you have a branch 'llvm-12' which intially contains a 12.0
5 4408b20f 2021-08-26 stsp release tree as published by the LLVM project, added to the repository
6 4408b20f 2021-08-26 stsp with a command such as 'got import -b llvm-12'. On the main branch we
7 4408b20f 2021-08-26 stsp would want to merge files from the llvm-12 branch into /usr/src/gnu/llvm
8 4408b20f 2021-08-26 stsp instead of the root directory checked out at /usr/src.
9 4408b20f 2021-08-26 stsp The next LLVM release 12.1 would later be committed onto the llvm-12
10 4408b20f 2021-08-26 stsp branch and then merged into main at /usr/src/gnu/llvm in the same way.
11 c36b5b9a 2022-08-06 thomas - When a clone fails the HEAD symref will always point to "refs/heads/main"
12 c36b5b9a 2022-08-06 thomas (ie. the internal default HEAD symref of Got). Resuming a failed clone with
13 c36b5b9a 2022-08-06 thomas 'got fetch' is supposed to work. To make this easier, if the HEAD symref
14 c36b5b9a 2022-08-06 thomas points to a non-existent reference it should be updated by 'got fetch'
15 c36b5b9a 2022-08-06 thomas to match the HEAD symref sent by the server.
16 58aedb1c 2023-01-31 thomas - If invoked in a work tree, got fetch could default to fetching the work
17 58aedb1c 2023-01-31 thomas tree's current branch, instead of fetching the remote repository's HEAD.
18 44078926 2023-02-03 thomas - 'got patch' should be able to detect an already applied patch.
19 44078926 2023-02-03 thomas - 'got patch' should ideally do more passes if a patch doesn't apply and
20 44078926 2023-02-03 thomas try fancy things (like ignoring context and whitespaces) only in later
21 44078926 2023-02-03 thomas passes.
22 48cfbb44 2023-02-07 thomas - investigate whether it's worth for 'got patch' to memory-map the files to
23 44078926 2023-02-03 thomas edit. (c.f. Plan A / Plan B in Larry' patch.)
24 9aa1ed34 2023-02-03 thomas - when fetching pack files got should verify that the requested branch tips
25 9aa1ed34 2023-02-03 thomas are present in the pack file sent by the server, before making this pack
26 9aa1ed34 2023-02-03 thomas file visible to readers of the repository
27 f389ec8a 2024-03-30 thomas - enforce that log messages are encoded in either ASCII or UTF-8; this
28 f389ec8a 2024-03-30 thomas mostly matters for -portable since OpenBSD doesn't provide other locales
29 54f77e21 2019-01-06 stsp
30 a2b42a7c 2022-07-19 thomas network protocol:
31 a2b42a7c 2022-07-19 thomas - add http(s) transport with libtls, speaking the two Git HTTP protocols
32 a2b42a7c 2022-07-19 thomas (both "dumb" and "smart" need to work) via got-fetch-pack, or a new helper
33 a2b42a7c 2022-07-19 thomas like got-fetch-http; it is fine if HTTP remains a fetch-only protocol, and
34 a2b42a7c 2022-07-19 thomas works only against servers which don't require authentication for fetches;
35 a2b42a7c 2022-07-19 thomas anything beyond this would require a full-featured HTTP client (Git uses
36 a2b42a7c 2022-07-19 thomas libcurl, which we cannot use as it is not in the OpenBSD base system)
37 1b99d152 2020-11-16 stsp
38 54f77e21 2019-01-06 stsp tog:
39 8300f02b 2022-07-19 thomas - make 'tog log' respond to key presses while 'loading...' history; loading
40 8300f02b 2022-07-19 thomas can be slow for paths in a deep history if the path has not been changed
41 8300f02b 2022-07-19 thomas very often, and 'tog log' blocks far too long in this case
42 8300f02b 2022-07-19 thomas - make it possible to view the contents of tag objects
43 8300f02b 2022-07-19 thomas - verify signed tag objects
44 ed611b60 2023-01-31 thomas - make it possible to toggle the parent to diff against in merge commits
45 1b99d152 2020-11-16 stsp
46 9ee610b2 2022-08-31 thomas gotwebd:
47 ed611b60 2023-01-31 thomas - fix COMMITS page for paths that were deleted and/or re-added to the
48 f35371fc 2023-01-19 thomas repository. One way would be not to let the commit graph filter paths.
49 f35371fc 2023-01-19 thomas As an additional optimization we could keep a tailq or the object-id
50 f35371fc 2023-01-19 thomas set for everything traversed in the repo to have fast reverse-lookups.
51 f35371fc 2023-01-19 thomas (has the additional requirement to invalidate it when the reference
52 f35371fc 2023-01-19 thomas timestamp changes)
53 64eef012 2023-09-12 thomas - reply with 404 on some kind of errors ('reference not found' for sure,
54 64eef012 2023-09-12 thomas maybe also tree entry not found?)
55 4cd0a252 2023-11-03 thomas - support category grouping a-la gitweb/cgit with the gitweb.category
56 4cd0a252 2023-11-03 thomas config option or via the "category" file in the root of the repo.
57 e8db3006 2023-02-03 thomas - consider changing the URL scheme to avoid so many query parameters
58 4408b20f 2021-08-26 stsp
59 4408b20f 2021-08-26 stsp gotd:
60 4ef604a7 2023-01-15 thomas - ensure all error messages are propagated to clients before disconnecting,
61 4ef604a7 2023-01-15 thomas there are probably still some cases where such error reporting is skipped
62 4ef604a7 2023-01-15 thomas - client connection timeout handling needs to be checked by regress tests,
63 4ef604a7 2023-01-15 thomas and is likely in need of improvement
64 4ef604a7 2023-01-15 thomas - implement stress-tests to observe and fix misbehaviour under load
65 d22dbfab 2023-05-26 thomas - listener's fd-reserve limit needs to be reviewed and perhaps adjusted
66 4ef604a7 2023-01-15 thomas - implement pre-commit checks (in lieu of hook scripts):
67 f041f55f 2023-04-05 thomas 1. deny branch history rewriting ('got send -f') via gotd.conf [done]
68 4ef604a7 2023-01-15 thomas 2. allow/deny creation/deletion of references via gotd.conf
69 f041f55f 2023-04-05 thomas 3. deny modifications within a given reference namespace via gotd.conf [done]
70 4ef604a7 2023-01-15 thomas 4. entirely hide a given reference namespace from clients via gotd.conf
71 4ef604a7 2023-01-15 thomas 5. allow/deny addition of binary files to a repo via gotd.conf
72 4ef604a7 2023-01-15 thomas 6. enforce a particular blob size limit via gotd.conf
73 822aa840 2023-01-27 thomas 7. optionally reject merge commits via gotd.conf
74 4ef604a7 2023-01-15 thomas - implement post-commit-event libexec handlers (in lieu of hook scripts):
75 90b9fd92 2024-03-30 thomas 1. commit email notification, plaintext smtp to localhost port 25 [done]
76 4ef604a7 2023-01-15 thomas 2. general-purpose HTTP(s) GET/POST request as commit notification,
77 4ef604a7 2023-01-15 thomas should use a format string to encode commit-info in the request URL
78 4ef604a7 2023-01-15 thomas 3. perform the equivalent of 'got send' to another repository
79 4ef604a7 2023-01-15 thomas - keep track of available repository disk space and fail gracefully when
80 4ef604a7 2023-01-15 thomas uploaded pack files would fill up the disk too much, keeping a reserve
81 ed611b60 2023-01-31 thomas - reuse packed non-delta objects directly (without re-deltification) for speed
82 d865e5fd 2022-12-11 thomas
83 d865e5fd 2022-12-11 thomas gotadmin:
84 d865e5fd 2022-12-11 thomas - add support for generating git-fast-export streams from a repository
85 d865e5fd 2022-12-11 thomas - add support for importing git-fast-export streams into a repository
86 e2d314ea 2023-02-17 thomas - speed up 'gotadmin pack -a' is too slow on repositories with many pack files