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 - Improve distinction between author and committer meta-data:
12 - When creating commits honor GOT_AUTHOR as the default value for both
13 fields, with an option to override the 'author ' field in the commit
14 object (displayed as 'from: ' in got log) with a name + email-address.
15 Careful, Git requires an email address and will *fail to parse* commit
17 - When rebasing/histediting commits, we could keep the original 'author'
18 field intact but reset the 'committer' field to the value of GOT_AUTHOR.
19 - Add an option where 'got cherrypick' and 'got backout' will immediately
20 create a new commit with a log-message based on the original log message.
21 This must require an up-to-date and clean work tree to avoid unrelated
22 changes from getting mixed in. Perform an implicit work tree base-commit
23 bump after committing, like 'got rebase' and 'got histedit' do it.
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 - implement 'limit' for 'tog log' (like search but display matched commits only)
35 - make 'tog log' respond to key presses while 'loading...' history; loading
36 can be slow for paths in a deep history if the path has not been changed
37 very often, and 'tog log' blocks far too long in this case
38 - make it possible to view the contents of tag objects
39 - verify signed tag objects
40 - add a toggle to switch between display of author/committer in the log view
41 - in the blame view, make it possible to open a log view for the commit on
42 the selected line; useful when the blamed commit is a merge commit and
43 the user wants to view relevant parent commits
46 - tracey has a gotwebd thingy in progress somewhere
49 - needs to be designed and implemented