got: - Add support for creating merge commits. This should move the work tree onto a temporary branch like rebase and histedit do, recording commit IDs and such in refs/got/merge/ as needed to keep state. Bonus points for being able to merge an arbitrary tree into an arbitrary subdirectory of the work tree. This would be required for merging vendor branches. Say you have a branch 'llvm-12' which intially contains a 12.0 release tree as published by the LLVM project, added to the repository with a command such as 'got import -b llvm-12'. On the main branch we would want to merge files from the llvm-12 branch into /usr/src/gnu/llvm instead of the root directory checked out at /usr/src. The next LLVM release 12.1 would later be committed onto the llvm-12 branch and then merged into main at /usr/src/gnu/llvm in the same way. libexec: - add http(s) transport with libtls in got-fetch-pack or a new helper tog: - implement horizonal scrolling in all views - implement horizonal split view mode - implement 'limit' for 'tog log' (like search but display matched commits only) - allow moving to prev/next blamed line in diff view if opened from blame view, similar to how the diff view can switch commits if opened from log view gotweb: - tracey has a gotwebd thingy in progress somewhere gotd: - needs to be designed and implemented