Commit Graph

62 Commits

Author SHA1 Message Date
65fc5efdec git:submodule-rm: Update to current .git structure
Update the function to use the current `.git/modules/` structure, by
only using the basename of the path.

I am not sure when this was changed and too lazy right now to find it
out.
2022-07-12 21:00:10 +02:00
09ef4d4d93 git: Replace git-signoff with rebase --signoff
Replace my custom git-signoff script with the native `--signoff` flag
for `git rebase`.
2022-07-12 21:00:00 +02:00
1fbdc60b6b glog: Disable --quit-if-one-screen in $LESS
Make glog always open the output of `git show` in a **real** pager by
disabling `--quit-if-one-screen`.
2022-07-12 21:00:00 +02:00
3512199fce git:spull: Rename to ssync
As I rarely use git-pull(1) and instead fetch and act manually, I'd
rather have it to just sync the submodules.
2022-07-12 20:59:59 +02:00
c22fcf5fce git,zsh:autoload: Move spull into own function
Move `git-track` into its own autoloadable function.

This way it is better maintainable as in one-liner format and brings the
possibility of having more complexity (e.g. for better portability).

By that it is also now executable as `git-spull` as well as `git spull`
as before.
2022-07-12 20:59:59 +02:00
932c2eee35 git:checkout-worktree: Format description comment 2022-06-23 23:59:01 +02:00
b96d32996b *: Wrap lines at 80 columns where appropriate
Wrap lines at 80 columns where appropriate and I had the energy to think
about how/where to wrap.

There are still lines longer than that, which I plan to wrap in the
future. But that is enough for now.
2022-06-23 23:59:00 +02:00
e13ab8e855 zk: Add a horizontal ruler before the modeline
When using the zettel as a commit message this is also convenient as git
will ignore everything behind it. (Which also means that all horizontal
rulers in a zettel should use atleast 4 dashes)
2022-06-23 23:56:53 +02:00
79c7cdf416 git:checkout-worktree: Escape slashes in branch
Escape slashes in the branch name before passing it to `mktemp`.
Otherwise it would complain with:

    mktemp: invalid suffix [...], contains directory separator
2022-06-23 23:54:13 +02:00
be1bd6f08d git:checkout-worktree: Add scripted-use examples 2022-03-31 17:56:07 +02:00
ab53cff2a3 git:checkout-worktree: Update description
Add description in one sentence and use cases for this.
Remove sentence about removing `TEMP_DIR` that is outdated since:
5a8b5ffd21 ("git:checkout-worktree: Use `mktemp` template")
2022-03-31 17:48:05 +02:00
71450ad133 git:checkout-worktree: Fix endless loop
Fix endless loop when commands are passed via stdin that result in the
worktree not being removable. Fix by then dropping into an interactive
shell.
2022-03-31 17:28:05 +02:00
399b571e85 git:checkout-worktree: Refactor into one loop 2022-03-31 17:11:59 +02:00
a60c955d3d git:checkout-worktree: Set err_return + no_unset
If anything happens abnormally, return early and leave it to the user to
fix things.
2022-03-31 16:57:46 +02:00
d56979362a git:checkout-worktree: s/REPO_DIR/WORKTREE_PATH/ 2022-03-31 16:15:46 +02:00
5a8b5ffd21 git:checkout-worktree: Use mktemp template
Use a template that directly includes the repository name and the branch
checked out. This makes finding and deleting the worktree directory if
anything goes wrong a lot easier.

Checkout the worktree directly in the temporary directory. With that
`TEMP_DIR` becomes obsolete.
2022-03-31 16:00:47 +02:00
976d3f9000 git:checkout-worktree: Mention non-interactive use 2022-03-31 15:43:49 +02:00
02a0e17bcb git:checkout-worktree: Fix exit when not in repo
Fix the exit condition when the function is called outside of a git
repository.
Use zsh's `:t` History Expansion Modifier, as `$?` does not keep `git
rev-parse`'s exit code, but rather `basename`'s.
2022-03-31 15:33:53 +02:00
eb323992dc git:checkout-worktree: Keep the shell's exit code
Exit with the exit code of the last spawned shell.
2022-03-31 15:29:53 +02:00
b44ff72210 git:checkout-worktree: Rephrase description 2022-03-31 15:27:29 +02:00
9968edaf09 zsh: Make git-checkout-worktree autoloadable
Transform `git-checkout-worktree` into an autoloadable function.
2022-03-31 15:19:56 +02:00
0ba0c04c56 zsh: Use $+commands[] instead of command -v 2022-03-31 00:46:46 +02:00
e024ca9f0a zsh:auto,comp: Add git-signoff function
Add `git-signoff` to signoff commits in given range.
Reuse the `_git-rebase` completion function for `git-signoff`.
2022-03-30 03:00:48 +02:00
d4350dbd7c zsh:auto:git-submodule-rm: Keep git exit code
Split `toplevel` definition and assignment as the `local` builtin has
it's own exit code. Thus the function previously did not return if the
`PWD` was not in a git repo.
2022-03-30 03:00:46 +02:00
5df9e4d6ee zsh,vim: Add WIP Zettelkasten tooling
Add `zk`, an autoloadable function that creates a new zettel after a
template in the right directory.
Add `zettel` vim ftplugin.
2022-03-28 23:48:51 +02:00
5794af1c52 zsh:autoload:git-track: Make more portable
Some distributions ship older versions of `column` that do not have the
flags `-dNLO`. This is a workaround around this limitation that creates
the same output using other tools.
2022-02-17 15:40:51 +01:00
7f52c7a4cb git,zsh:autoload: Move git-track into own function
Move `git-track` into its own autoloadable function.
This way it is
better maintainable as in one-liner format and brings the possibility of
having more complexity (e.g. for better portability).
By that it is also now executable as `git-track` as well as `git track`
as before.
2022-01-31 12:50:54 +01:00
0e1712b4c0 zsh:autoload: Move git functions into git/ 2022-01-28 16:35:56 +01:00
851674efeb zsh:autoload:glog: Fix syntax w/ bash login shell
When bash is set as standard shell, fzf passes the commands to it and
bash throws a syntax error because of the missing semicolon.
2022-01-14 15:02:50 +01:00
ca5edbe538 zsh:glog: Remove --all flag
This annoys me in more cases than I thought. For example when checking
out a commit in the past in detached head mode and I want to see the
past commits before the current one.
Especially because there is no flag that can disable it again.

The flag has to be passed manually to `glog` now.
2021-07-23 12:06:58 +02:00
93ff4e7da2 zsh:glog: Add --all flag
Pretend as if all the refs in refs/, along with HEAD, are listed on the
command line.
2021-07-15 15:58:43 +02:00
b1d396babd *: Use /usr/bin/env in shebangs for bash & zsh
To increase the portability (OSX for example has zsh under `/bin/zsh`).
2021-07-14 13:48:21 +02:00
9bb4ded6c7 zsh:autoload:gbranch: Do not hardcode AUTOLOAD_DIR 2021-07-10 01:13:40 +02:00
1dec922c0f zsh:autoload: Add gbranch to display git branches 2021-07-10 01:00:09 +02:00
4fedae1a4c zsh:autoload:*: Add shebang & remove vim-modeline
By adding a shebang to the scripts they can be executed directly without
an interactive shell. The shebang also makes vims modeline that only set
the filetype obsolete.
2021-07-10 00:59:25 +02:00
3db2c2a87e zsh:g{log,stash}: Drop tput for stty for size
As stty is part of POSIX and thus better available.
2021-06-01 22:10:39 +02:00
44ef15d8ab zsh:autoload:glog,gstash: Drop trailing \n on copy 2021-05-16 00:48:24 +02:00
8af0b5c79a zsh:autoload:glog,gstash: Get rid of redundancy 2021-05-16 00:09:53 +02:00
4f70d7f32f zsh:glog: Show pgp key instead of fingerprint
Also display a status: (From `git-show` manpage)
```
"G" for a good (valid) signature,
"B" for a bad signature,
"U" for a good signature with unknown validity,
"X" for a good signature that has expired,
"Y" for a good signature made by an expired key,
"R" for a good signature made by a revoked key,
"E" if the signature cannot be checked (e.g. missing key) and
"N" for no signature
```
2021-05-15 04:06:22 +02:00
6e89def392 zsh:autload: Add gstash to display git stashes
Add gstash as a copy of glog with very slight modifications.
(Exchange `git log` with `git stash list` and remove the `--graph` flag)
2021-05-15 04:06:09 +02:00
c93d36677b zsh:glog: Handle missing commands and OS X
As the commit hash is now potentially printed (when no clipboard tool is
available), the copy-command needed to be executed not silent.
2021-04-30 11:48:09 +02:00
abd26352d4 zsh:ls-show-hidden: Use coreutils ls under darwin 2021-03-10 13:37:32 +01:00
fa9e8da091 zsh:glog: Show also commit stats in preview 2021-02-17 02:39:59 +01:00
9f616bace6 zsh:glog: Disable echo's backslash interpretation
With it allowed it breaks the preview and copy of commits that contains
such sequences.
2021-01-15 13:40:29 +01:00
26ef592129 zsh:glog: Add --stat preview 2020-12-19 02:31:52 +01:00
10ef02c421 zsh:glog: Support arguments
Arguments given to `glog` are directly passed to the `git log` call that
populates the commit list. Useful for example for specifying the
commit/branch.
2020-12-19 02:29:51 +01:00
9276f9427e zsh:glog: Comment bindings and add cancel bind 2020-12-19 02:29:10 +01:00
21014b46ce zsh:glog: Position preview depending on dimensions 2020-12-19 00:14:55 +01:00
druckdev
ba0c29e90e zsh:glog: Add pgp signing infos 2020-11-03 00:02:05 +01:00
druckdev
4d1b540778 zsh:ls-show-hidden: Bug fixes around -d flag
Fix behavior to match ls's when the -d flag but no files or directories
were passed.

Fix bug that the function thinks -d is passed when a long option that
contains a 'd' (as --group-directories-first) is specified and thus
just emulates plain `ls` in that case.
2020-11-02 17:46:26 +01:00