git-sync supports jj

So much nicer!
This commit is contained in:
Geoffrey Frogeye 2024-10-04 17:48:40 +02:00
parent d2dbb5bbde
commit a7e2b49bea
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8

View file

@ -17,10 +17,18 @@ in
else
(
cd "${r.path}"
${pkgs.git}/bin/git --no-optional-locks diff --quiet || echo "Repository is dirty!"
${pkgs.git}/bin/git pull || true
# Only push if there's something to push. Also prevents from trying to push on repos where we don't have rights.
(${pkgs.git}/bin/git --no-optional-locks status --porcelain -b --ignore-submodules | grep ' \[ahead [0-9]\+\]' && ${pkgs.git}/bin/git push) || true
if [ -d .jj ]
then
jj git fetch
jj rebase -d main@origin
jj branch set main -r @-
jj git push
else
${pkgs.git}/bin/git --no-optional-locks diff --quiet || echo "Repository is dirty!"
${pkgs.git}/bin/git pull || true
# Only push if there's something to push. Also prevents from trying to push on repos where we don't have rights.
(${pkgs.git}/bin/git --no-optional-locks status --porcelain -b --ignore-submodules | grep ' \[ahead [0-9]\+\]' && ${pkgs.git}/bin/git push) || true
fi
)
fi
'')