2 - Teach 'got merge' to merge changes into an arbitrary subdirectory
3 of the work tree. This would be nice for merging vendor branches.
4 Say you have a branch 'llvm-12' which intially contains a 12.0
5 release tree as published by the LLVM project, added to the repository
6 with a command such as 'got import -b llvm-12'. On the main branch we
7 would want to merge files from the llvm-12 branch into /usr/src/gnu/llvm
8 instead of the root directory checked out at /usr/src.
9 The next LLVM release 12.1 would later be committed onto the llvm-12
10 branch and then merged into main at /usr/src/gnu/llvm in the same way.
11 - Add an option where 'got cherrypick' and 'got backout' will immediately
12 create a new commit with a log-message based on the original log message.
13 This must require an up-to-date and clean work tree to avoid unrelated
14 changes from getting mixed in. Perform an implicit work tree base-commit
15 bump after committing, like 'got rebase' and 'got histedit' do it.
16 - Respect the current umask when creating or changing files and directories
17 in the work tree. This behaviour is already documented in got-worktree(5)
18 but not actually implemented.
19 - When a clone fails the HEAD symref will always point to "refs/heads/main"
20 (ie. the internal default HEAD symref of Got). Resuming a failed clone with
21 'got fetch' is supposed to work. To make this easier, if the HEAD symref
22 points to a non-existent reference it should be updated by 'got fetch'
23 to match the HEAD symref sent by the server.
26 - add http(s) transport with libtls, speaking the two Git HTTP protocols
27 (both "dumb" and "smart" need to work) via got-fetch-pack, or a new helper
28 like got-fetch-http; it is fine if HTTP remains a fetch-only protocol, and
29 works only against servers which don't require authentication for fetches;
30 anything beyond this would require a full-featured HTTP client (Git uses
31 libcurl, which we cannot use as it is not in the OpenBSD base system)
34 - make 'tog log' respond to key presses while 'loading...' history; loading
35 can be slow for paths in a deep history if the path has not been changed
36 very often, and 'tog log' blocks far too long in this case
37 - make it possible to view the contents of tag objects
38 - verify signed tag objects
41 - gotwebd should display the committer field if it differs from the author
42 - run-time changes of addresses on interfaces are being ignored by gotwebd
43 - perhaps "bind interface" should be removed in favour of using only IP
44 addresses? This makes the address family selection explicit and avoids
45 having to monitor interfaces for dynamic address changes.
48 - needs to be designed and implemented