diff options
Diffstat (limited to 'home/vcs.nix')
| -rwxr-xr-x[-rw-r--r--] | home/vcs.nix | 66 |
1 files changed, 62 insertions, 4 deletions
diff --git a/home/vcs.nix b/home/vcs.nix index 4855b94..194798f 100644..100755 --- a/home/vcs.nix +++ b/home/vcs.nix @@ -21,10 +21,68 @@ }; remotes.origin.auto-track-bookmarks = "*"; remotes.github.auto-track-bookmarks = "*"; - aliases.tug = [ - "bookmark" - "advance" - ]; + aliases = { + tug = [ + "bookmark" + "advance" + "--to" + "coalesce(@ ~ empty(), @-)" + ]; + + fn = [ + "util" + "exec" + "--" + "bash" + "-c" + '' + set -euo pipefail + + cd "$JJ_WORKSPACE_ROOT" + bookmark="''${1:-main}" + jj git fetch + jj new "$bookmark" + '' + "" + ]; + + tcp = [ + "util" + "exec" + "--" + "bash" + "-c" + '' + set -euo pipefail + + cd "$JJ_WORKSPACE_ROOT" + jj tug + if [ "$#" -eq 0 ]; then + jj new + else + jj commit -m "$*" + fi + jj git push + '' + "" + ]; + + sp = [ + "util" + "exec" + "--" + "bash" + "-c" + '' + set -euo pipefail + + cd "$JJ_WORKSPACE_ROOT" + jj squash --ignore-immutable + jj git push + '' + "" + ]; + }; }; }; |
