From aa53962b9540dce996b183a5cd6e14274cfeec0f Mon Sep 17 00:00:00 2001 From: René Neumann Date: Wed, 10 Aug 2011 20:22:31 +0200 Subject: Moved some functions to their own files --- .zsh/functions/cci | 77 ++++++++++++++++++++++++++++++++++++++++++++++ .zsh/functions/open_ebuild | 43 ++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 .zsh/functions/cci create mode 100644 .zsh/functions/open_ebuild (limited to '.zsh/functions') diff --git a/.zsh/functions/cci b/.zsh/functions/cci new file mode 100644 index 0000000..4baaa7d --- /dev/null +++ b/.zsh/functions/cci @@ -0,0 +1,77 @@ +# Commit a new config change +# Works only for simple cases +_ask_$0 () +{ + echo -n "Is this ok? [y/n] " + + if ! read -q; then + echo + echo "I would have done the wrong thing ... aborting!" + return 2 + else + echo + fi +} + +if [[ $# == 0 ]]; then + echo "No message given. Aborting." + return 1 +fi + +local message=$1 +local tok=__cci__ + +pushd -q ~ + +local indexed="$(config status --porcelain | grep -v '^ ')" + +if [[ -n $indexed ]]; then + echo ">> Stuff in index -- only commiting this" + echo "$indexed" + _ask_$0 || return 2 +else + echo ">> Nothing in index -- commiting everything which has changed" + echo "$(config status)" + + _ask_$0 || return 2 + config add -u +fi + +cstg diff -O --cached +_ask_$0 || return 2 + +echo ">> Creating new patch" +cstg new $tok -m "$message" + +echo ">> Refreshing" +cstg refresh -i + +if [[ -z $(cstg files) ]]; then + echo + echo "Ehm - this patch is empty. Narf. Aborting!" + echo "Deleting useless patch" + cstg del $tok + return 3 +fi + +echo ">> Committing" +cstg commit $tok + +if [[ -n $(cstg series --applied) ]]; then + echo + echo "Urgs! Something went wrong. There are still patches applied." + echo "Clean up for yourself. Aborting here!" + return 4 +fi + +echo ">> Pushing to remote" +config push + +echo ">> Re-apply patches" +cstg push -a -k + +echo ">> Done" + +popd -q + +# vim: ft=zsh diff --git a/.zsh/functions/open_ebuild b/.zsh/functions/open_ebuild new file mode 100644 index 0000000..dedecb3 --- /dev/null +++ b/.zsh/functions/open_ebuild @@ -0,0 +1,43 @@ +# Open the ebuild with a specified command +local ebuild sel +local -a elist + +if [[ $# -lt 2 ]]; then + echo "No package name given." + return 4 +fi + +ebuild="$(equery w $2 2>&1 )" +if [[ $? -ne 0 ]]; then + if [[ $ebuild == *"Ambiguous"* ]]; then + elist=(${(f)ebuild}) + + # remove the first line + shift elist + + echo "Ambiguous package name '$2' -- choose from: " + cat -n <<< ${(F)elist} + read "sel?Selection: " + + if [[ -z $elist[$sel] ]]; then + echo "Invalid choice." + return 1 + else + # the "=" is needed to strip the leading spaces and the quotes + open_ebuild $1 ${=elist[$sel]} + return $? + fi + + elif [[ $ebuild == *"No packages matching"* ]]; then + echo "Trying masked packages too..." + ebuild=$(equery w -m $2 2>&1) + fi +fi + +if [[ $? -eq 0 ]]; then + $1 $ebuild +else + echo "No ebuild found" +fi + +# vim: ft=zsh -- cgit v1.2.3-54-g00ecf 2ee045fb59747c74cbb5143d14c371&follow=1'>image uri's may contain spacesRené 'Necoro' Neumann1-1/+6 2016-03-25Only one instance of the fetcher neededRené 'Necoro' Neumann1-1/+1 2016-03-25Replace RMail by Mail. This also reduces the handling we have to do ourselves.René 'Necoro' Neumann2-62/+65 2016-03-25Use debug mode for testingRené 'Necoro' Neumann1-1/+1 2016-03-25Add mail to the dependenciesRené 'Necoro' Neumann1-0/+1 2015-06-09itemtomail: embed images using data: URLsHEADmasterAntonio Terceiro1-18/+2 2015-05-10Bump versionAntonio Terceiro1-1/+1 2015-05-10Fix regression in `include-images` optionAntonio Terceiro3-8/+16 test/tc_httpfetcher.rb can't still be re-enabled because it hits the network, and a hostname that is no longer valid. 2015-05-03Bump versionAntonio Terceiro1-1/+1 2015-05-03Fix usage of filtersAntonio Terceiro2-16/+24 - avoid accessing $? unless it is actually available - when calling a filter, make sure to release the mutex even if there is an exception during the filter handling. The long term solution is to drastically reorganize concurrency code. 2015-01-13Handle being given numbers as feed nameAntonio Terceiro2-0/+16 Force feed names to be strings because they will be handled as strings later. 2015-01-13Rakefile: remove wrong (and thus unused) flagAntonio Terceiro1-1/+0 2015-01-13Remove deprecated 'test suite' fileAntonio Terceiro1-12/+0 I want to always run all tests 2015-01-13Rakefile: re-indentAntonio Terceiro1-35/+35 2015-01-13Rakefile: run tests in verbose modeAntonio Terceiro1-1/+2 2014-10-071.2.3 releaseAntonio Terceiro1-1/+1 2014-10-07Fix cleanup of maildirsAntonio Terceiro3-1/+16 Thanks to Sylvain L. Sauvage for the bug report 2014-05-18feed2imap-test: reuse cache dir/protect configAntonio Terceiro1-1/+1 this reduces the noise in the output and helps testing feed updates 2014-02-13feed2imap-test: can now take a feed URL as argumentAntonio Terceiro1-3/+22 2014-02-13update .gitignoreAntonio Terceiro1-0/+2 2014-02-13fix dependency on ruby-feedparserAntonio Terceiro1-1/+1 2014-02-05Release 1.2.2Antonio Terceiro2-2/+2 2014-02-05config: fix regression with arrays as targetAntonio Terceiro2-1/+17 2013-08-28Fix teardown method nameAntonio Terceiro1-1/+1