diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2018-06-10 17:32:33 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2018-06-10 17:32:34 +0200 |
commit | c6733efa44583d171635149b4c9e497332a5ab71 (patch) | |
tree | ea7a3bdb746af837582b6da768061bb7b5b05c71 /.zsh/functions | |
parent | 98521abd2f038e06d732226f4eb788be607eb862 (diff) | |
download | dotfiles-c6733efa44583d171635149b4c9e497332a5ab71.tar.gz dotfiles-c6733efa44583d171635149b4c9e497332a5ab71.tar.bz2 dotfiles-c6733efa44583d171635149b4c9e497332a5ab71.zip |
Enhance cci script
Diffstat (limited to '')
-rw-r--r-- | .zsh/functions/cci | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/.zsh/functions/cci b/.zsh/functions/cci index b4af773..c581f8a 100644 --- a/.zsh/functions/cci +++ b/.zsh/functions/cci @@ -1,5 +1,9 @@ # Commit a new config change # Works only for simple cases +emulate -L zsh + +setopt err_return + ask () { echo -n ${fg_bold[white]}"Is this ok? [y/n] "${reset_color} @@ -18,12 +22,7 @@ log () echo ${fg_bold[white]}">> $1"${reset_color} } -TRAPEXIT () { - # cleanup - unfunction ask log -} - # ignore a -m [[ $1 == "-m" ]] && shift @@ -34,12 +33,10 @@ fi local message=$1 local tok=__cci__ -local stg_v=$(python2 -c 'from stgit.builtin_version import version; print(version)') - -# bail out on errors with the python thing -(( $? )) && return +local stg_v && stg_v=$(python2 -c 'from stgit.builtin_version import version; print(version)') pushd -q ~ +{ local indexed="$(config status --porcelain | grep -v '^ ')" @@ -73,13 +70,13 @@ if [[ -z $(cstg files) ]]; then fi log "Committing" -cstg commit $tok || return +cstg commit $tok # 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; then log "Popping patches, stg thought it had to re-apply" - cstg pop --all --keep || return + cstg pop --all --keep fi if [[ -n $(cstg series --applied) ]]; then @@ -90,13 +87,13 @@ if [[ -n $(cstg series --applied) ]]; then fi log "Pushing to remote" -config push || return +config push log "Re-apply patches" -cstg push --all --keep || return +cstg push --all --keep log "Done" - -popd -q +} always { popd -q } +} always { unfunction ask log } # vim: ft=zsh |