home/git: add git-fixup-fixup script
This commit is contained in:
parent
61a22b96cd
commit
49f0a457e5
|
@ -53,6 +53,7 @@ in
|
|||
forcepush = "push --force-with-lease --force-if-includes";
|
||||
authors = "shortlog --summary --numbered --email";
|
||||
si = "switch-interactive";
|
||||
ff = "fixup-fixup";
|
||||
subs = "submodule update --init --recursive";
|
||||
rebase-author = "rebase -i -x \"git commit --amend --reset-author -CHEAD\"";
|
||||
git = "!git";
|
||||
|
@ -270,6 +271,11 @@ in
|
|||
(builtins.replaceStrings ["hours" "tcommit"] ["minutes" "tmcommit"])
|
||||
];
|
||||
})
|
||||
(pkgs.writeShellApplication {
|
||||
name = "git-fixup-fixup";
|
||||
runtimeInputs = with pkgs; [ cfg.package ];
|
||||
text = lib.fileContents ./scripts/git-fixup-fixup.sh;
|
||||
})
|
||||
(pkgs.writeShellApplication {
|
||||
name = "git-switch-interactive";
|
||||
runtimeInputs = with pkgs; [ cfg.package fzf gnused coreutils ];
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
if [ -n "${1:-}" ]; then
|
||||
TARGET_COMMIT="$1"
|
||||
shift
|
||||
else
|
||||
TARGET_COMMIT="HEAD"
|
||||
fi
|
||||
|
||||
COMMIT_MESSAGE=$(git log -1 --pretty=format:'%s' "$TARGET_COMMIT")
|
||||
|
||||
if [[ $COMMIT_MESSAGE =~ ^fixup!* ]]; then
|
||||
git commit -m "$COMMIT_MESSAGE" "$@"
|
||||
else
|
||||
git commit --fixup "$TARGET_COMMIT" "$@"
|
||||
fi
|
Loading…
Reference in New Issue