In the flat/non-graph view merge commits are a bit distracting. Still
unsure if I will forget about this and one day wonder why I don't see
merge commits.
Replace custom awk solution with uniq, by first flipping filename and
filesize so that uniq's `-f` flag can be utilized (as there is no
inverse of it, i.e. "only look at field n").
This increases performance by quite a bit.
Use core.commentchar to identify commented lines and use the cut line
instead of just deleting from the first comment on, as this would break
for example in git generated messages (e.g. squashes).
Instead of matching certain paths relative from the root of the repo,
match them everywhere. I need this for non-git tools that read the
.gitignore file (e.g. fd and rg) to match/ignore the files when called
from a parent directory too. `./repo/.git` would otherwise not be
ignored.
This reverts commit a205a7c5ce ("zsh:opts: Disable CDABLE_VARS").
The main reason why the option annoyed me was primarily because I had
stupid named dirs to begin with. Remove children of HOME, since I get
there fast anyways.
This reverts commit 226f09b046.
I don't want to have relative links all the time.
TODO: If target is a relative path, make the link relative too
TODO: Support --relative flag
This leads to problems in repositories with multiple remotes that do not
share the same tags. A fetch --all will then fetch and delete a tag at
the same time. Tags are also way less often deleted in my experience so
that an automatic pruning is not necessary.
This makes it possible to diff command chains. For example:
diffcmds git format-patch -1 --stdout HEAD~ '|' \
grep '^%%' '|' \
cut -c2- \
-- - +
to see if a commit only reordered lines without modifying them.
I am not happy with this solution and would prefer a different form of
escaping (e.g. with %).