ratatui::Terminal starts by hiding the cursor. If we panic and abort,
that Terminal instance is not dropped, which leaves restoring the cursor
state to us.
Co-authored-by: Naseschwarz <[email protected]>
* Resolve core.hooksPath relative to GIT_WORK_TREE
git supports relative values in core.hooksPath.
`man git-config`:
> A relative path is taken as relative to the directory where the hooks are
> run (see the "DESCRIPTION" section of githooks[5]).
`man githooks`:
> Before Git invokes a hook, it changes its working directory to either
> $GIT_DIR in a bare repository or the root of the working tree in a >
> non-bare repository.
I.e. relative paths in core.hooksPath in non-bare repositories are always
relative to GIT_WORK_TREE.
There is a further exception; I believe this is not considered for path
resolution:
> An exception are hooks triggered during a push (pre-receive, update,
> post-receive, post-update, push-to-checkout) which are always executed
> in $GIT_DIR.
* Favor Repository::workdir() over path().parent()
This more clearly errors in case of bare repositories instead of using
the parent directory of the bare repository.
---------
Co-authored-by: Naseschwarz <[email protected]>
Co-authored-by: extrawurst <[email protected]>
The algorithm for computing marked_consecutive assumes that commits are
consecutive in the commit graph if they are consecutive in the
linearized log used in` commitlist.rs`. That is not universally correct,
as siblings may also be displayed consecutively in this list.
For now, this just removes generating commit lists in dotted range
notation.
Co-authored-by: Naseschwarz <[email protected]>
* Copy text using OSC52 if X/Wayland methods fail
* Move Wayland/X string copying out of copy_string
Copying logic seems too nested to comprehend with the introcution of two
paths towards OSC52 otherwise.
---------
Co-authored-by: Naseschwarz <[email protected]>
Co-authored-by: extrawurst <[email protected]>