diff options
Diffstat (limited to '')
-rw-r--r-- | .zsh/functions/cci | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/.zsh/functions/cci b/.zsh/functions/cci index 4baaa7d..6d10917 100644 --- a/.zsh/functions/cci +++ b/.zsh/functions/cci @@ -13,6 +13,11 @@ _ask_$0 () fi } +_stg_v_$0 () +{ + python -c 'from stgit.builtin_version import version; print version' +} + if [[ $# == 0 ]]; then echo "No message given. Aborting." return 1 @@ -55,7 +60,14 @@ if [[ -z $(cstg files) ]]; then fi echo ">> Committing" -cstg commit $tok +cstg commit $tok || return + +# from 0.16 onwards stg repushes the patches ... pop them again +# this is needed to make the `config push` work +if is-at-least 0.16 $(_stg_v_$0); then + echo ">>> Popping patches, stg thought it had to re-apply" + cstg pop -a -k || return +fi if [[ -n $(cstg series --applied) ]]; then echo @@ -65,10 +77,10 @@ if [[ -n $(cstg series --applied) ]]; then fi echo ">> Pushing to remote" -config push +config push || return echo ">> Re-apply patches" -cstg push -a -k +cstg push -a -k || return echo ">> Done" |