Blame


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 22daed47 2023-02-25 thomas - Teach 'got merge' to forward a branch reference if possible, instead of
12 22daed47 2023-02-25 thomas creating a merge commit. Forwarding should only be done if linear
13 e2a70d14 2023-02-24 thomas history exists from the tip of the branch being merged to the tip of
14 e2a70d14 2023-02-24 thomas the work tree's branch, and if the tip of the work tree's branch is
15 926fa84f 2023-02-25 thomas itself not a merge commit (this makes "stacked" merges possible
16 22daed47 2023-02-25 thomas by default, and prevents a 'main' branch reference from being forwarded
17 e2a70d14 2023-02-24 thomas to a vendor branch in case no new commits were added to 'main' since
18 e2a70d14 2023-02-24 thomas the previous vendor merge). Provide an option (-M) which forces creation
19 22daed47 2023-02-25 thomas of a merge commit, for cases where users deem forwarding undesirable.
20 c36b5b9a 2022-08-06 thomas - When a clone fails the HEAD symref will always point to "refs/heads/main"
21 c36b5b9a 2022-08-06 thomas (ie. the internal default HEAD symref of Got). Resuming a failed clone with
22 c36b5b9a 2022-08-06 thomas 'got fetch' is supposed to work. To make this easier, if the HEAD symref
23 c36b5b9a 2022-08-06 thomas points to a non-existent reference it should be updated by 'got fetch'
24 c36b5b9a 2022-08-06 thomas to match the HEAD symref sent by the server.
25 58aedb1c 2023-01-31 thomas - If invoked in a work tree, got fetch could default to fetching the work
26 58aedb1c 2023-01-31 thomas tree's current branch, instead of fetching the remote repository's HEAD.
27 44078926 2023-02-03 thomas - 'got patch' should be able to detect an already applied patch.
28 44078926 2023-02-03 thomas - 'got patch' should ideally do more passes if a patch doesn't apply and
29 44078926 2023-02-03 thomas try fancy things (like ignoring context and whitespaces) only in later
30 44078926 2023-02-03 thomas passes.
31 48cfbb44 2023-02-07 thomas - investigate whether it's worth for 'got patch' to memory-map the files to
32 44078926 2023-02-03 thomas edit. (c.f. Plan A / Plan B in Larry' patch.)
33 9aa1ed34 2023-02-03 thomas - when fetching pack files got should verify that the requested branch tips
34 9aa1ed34 2023-02-03 thomas are present in the pack file sent by the server, before making this pack
35 9aa1ed34 2023-02-03 thomas file visible to readers of the repository
36 54f77e21 2019-01-06 stsp
37 a2b42a7c 2022-07-19 thomas network protocol:
38 a2b42a7c 2022-07-19 thomas - add http(s) transport with libtls, speaking the two Git HTTP protocols
39 a2b42a7c 2022-07-19 thomas (both "dumb" and "smart" need to work) via got-fetch-pack, or a new helper
40 a2b42a7c 2022-07-19 thomas like got-fetch-http; it is fine if HTTP remains a fetch-only protocol, and
41 a2b42a7c 2022-07-19 thomas works only against servers which don't require authentication for fetches;
42 a2b42a7c 2022-07-19 thomas anything beyond this would require a full-featured HTTP client (Git uses
43 a2b42a7c 2022-07-19 thomas libcurl, which we cannot use as it is not in the OpenBSD base system)
44 1b99d152 2020-11-16 stsp
45 54f77e21 2019-01-06 stsp tog:
46 8300f02b 2022-07-19 thomas - make 'tog log' respond to key presses while 'loading...' history; loading
47 8300f02b 2022-07-19 thomas can be slow for paths in a deep history if the path has not been changed
48 8300f02b 2022-07-19 thomas very often, and 'tog log' blocks far too long in this case
49 8300f02b 2022-07-19 thomas - make it possible to view the contents of tag objects
50 8300f02b 2022-07-19 thomas - verify signed tag objects
51 ed611b60 2023-01-31 thomas - make it possible to toggle the parent to diff against in merge commits
52 1b99d152 2020-11-16 stsp
53 9ee610b2 2022-08-31 thomas gotwebd:
54 ed611b60 2023-01-31 thomas - reply with a non-200 reply code when an error occurs
55 ed611b60 2023-01-31 thomas - fix COMMITS page for paths that were deleted and/or re-added to the
56 f35371fc 2023-01-19 thomas repository. One way would be not to let the commit graph filter paths.
57 f35371fc 2023-01-19 thomas As an additional optimization we could keep a tailq or the object-id
58 f35371fc 2023-01-19 thomas set for everything traversed in the repo to have fast reverse-lookups.
59 f35371fc 2023-01-19 thomas (has the additional requirement to invalidate it when the reference
60 f35371fc 2023-01-19 thomas timestamp changes)
61 5f202665 2022-08-06 thomas - run-time changes of addresses on interfaces are being ignored by gotwebd
62 5f202665 2022-08-06 thomas - perhaps "bind interface" should be removed in favour of using only IP
63 5f202665 2022-08-06 thomas addresses? This makes the address family selection explicit and avoids
64 5f202665 2022-08-06 thomas having to monitor interfaces for dynamic address changes.
65 44078926 2023-02-03 thomas - add breadcrumbs to navigate in the directory tree
66 44078926 2023-02-03 thomas - add more action links, like "raw", "blame" and "commits" in the blob
67 44078926 2023-02-03 thomas page.
68 4a363bb0 2023-02-03 thomas - add a "rawdiff" page to serve a diff as text/plain (or text/x-patch),
69 4a363bb0 2023-02-03 thomas or maybe "rawcommit" that includes the commentary too.
70 e8db3006 2023-02-03 thomas - consider changing the URL scheme to avoid so many query parameters
71 4408b20f 2021-08-26 stsp
72 4408b20f 2021-08-26 stsp gotd:
73 4ef604a7 2023-01-15 thomas - ensure all error messages are propagated to clients before disconnecting,
74 4ef604a7 2023-01-15 thomas there are probably still some cases where such error reporting is skipped
75 4ef604a7 2023-01-15 thomas - client connection timeout handling needs to be checked by regress tests,
76 4ef604a7 2023-01-15 thomas and is likely in need of improvement
77 4ef604a7 2023-01-15 thomas - implement stress-tests to observe and fix misbehaviour under load
78 4ef604a7 2023-01-15 thomas - listener's fd-reserve limit needs to be reviewed and perhaps adjusted
79 4ef604a7 2023-01-15 thomas - implement pre-commit checks (in lieu of hook scripts):
80 f041f55f 2023-04-05 thomas 1. deny branch history rewriting ('got send -f') via gotd.conf [done]
81 4ef604a7 2023-01-15 thomas 2. allow/deny creation/deletion of references via gotd.conf
82 f041f55f 2023-04-05 thomas 3. deny modifications within a given reference namespace via gotd.conf [done]
83 4ef604a7 2023-01-15 thomas 4. entirely hide a given reference namespace from clients via gotd.conf
84 4ef604a7 2023-01-15 thomas 5. allow/deny addition of binary files to a repo via gotd.conf
85 4ef604a7 2023-01-15 thomas 6. enforce a particular blob size limit via gotd.conf
86 822aa840 2023-01-27 thomas 7. optionally reject merge commits via gotd.conf
87 4ef604a7 2023-01-15 thomas - implement post-commit-event libexec handlers (in lieu of hook scripts):
88 4ef604a7 2023-01-15 thomas 1. commit email notification, plaintext smtp to localhost port 25
89 4ef604a7 2023-01-15 thomas 2. general-purpose HTTP(s) GET/POST request as commit notification,
90 4ef604a7 2023-01-15 thomas should use a format string to encode commit-info in the request URL
91 4ef604a7 2023-01-15 thomas 3. perform the equivalent of 'got send' to another repository
92 4ef604a7 2023-01-15 thomas - keep track of available repository disk space and fail gracefully when
93 4ef604a7 2023-01-15 thomas uploaded pack files would fill up the disk too much, keeping a reserve
94 ed611b60 2023-01-31 thomas - reuse packed non-delta objects directly (without re-deltification) for speed
95 d865e5fd 2022-12-11 thomas
96 d865e5fd 2022-12-11 thomas gotadmin:
97 d865e5fd 2022-12-11 thomas - teach 'gotadmin cleanup' to remove redundant pack files
98 d865e5fd 2022-12-11 thomas - add support for generating git-fast-export streams from a repository
99 d865e5fd 2022-12-11 thomas - add support for importing git-fast-export streams into a repository
100 e2d314ea 2023-02-17 thomas - speed up 'gotadmin pack -a' is too slow on repositories with many pack files