X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=shrc.sh;h=a15e0e5a72b95b1063737822dd6af7c7e64b7e9b;hb=9d0d2184e9192dc563049fc8150a5b7a28bf9a68;hp=04da3c57f54fd6f6c5ed2f3af8718a3eb9067f47;hpb=ea321eafae6c5e492a951a5d992099614847c3ba;p=packages%2Frpm-build-tools.git diff --git a/shrc.sh b/shrc.sh index 04da3c5..a15e0e5 100755 --- a/shrc.sh +++ b/shrc.sh @@ -24,17 +24,24 @@ ac-tag() { # see if remote has branch present local branch=AC-branch if git show-ref -q refs/remotes/origin/$branch; then - if [ -z "$(git tag --points-at $branch 2>/dev/null)" ]; then + git fetch --tags + if [ -z "$(git tag --points-at origin/$branch 2>/dev/null)" ]; then echo >&2 "There's no tag pointing to current $branch; refusing to delete branch" return 1 fi + # delete local branch if exists + git show-ref -q refs/heads/$branch && git branch -d $branch + + # drop remote branch git push --delete origin $branch fi git tag -f $branch - git push origin $branch + git push -f origin $branch } +alias q='rpm -q --qf "%{N}-%|E?{%{E}:}|%{V}-%{R}.%{ARCH}\n"' + # undo spec utf8 # note: it will do it blindly, so any lang other than -pl is most likely broken specutfundo() { @@ -186,62 +193,8 @@ get-buildlog() { fi # no $dist set -alias cv='cvs status -v' alias adif="dif -x '*.m4' -x ltmain.sh -x install-sh -x depcomp -x 'Makefile.in' -x compile -x 'config.*' -x configure -x missing -x mkinstalldirs -x autom4te.cache" -alias pclean="sed -i~ -e '/^\(?\|=\+$\|unchanged:\|diff\|only\|Only\|Files\|Common\|Index:\|RCS file\|retrieving\)/d'" - -# makes diff from PLD CVS urls -# requires: cvs, tee -urldiff() { - local url="$1" - if [ -z "$url" ]; then - echo >&2 "Reading STDIN" - read url - fi - - echo >&2 "Process $url" - local file="$url" - file=${file#*SPECS/} - file=${file#*SOURCES/} - file=${file##*/} - local r1=${file#*r1=} - local r2=${r1#*r2=} - r2=${r2%%[&;]*} - r1=${r1%%[&;]*} - file=${file%\?*} - file=${file%.diff} - - echo >&2 "$file: $r1 -> $r2" - - if [ -t 1 ]; then - cvs diff -u -r$r1 -r$r2 $file | tee m.patch | diffcol - else - cvs diff -u -r$r1 -r$r2 $file - fi -} - -# makes diff from kde svn path -# requires: wget, tee -kdediff() { - local url="$1" r1 r2 - # --- branches/KDE/3.5/kdepim/kpilot/conduits/vcalconduit/vcalRecord.cc #624744:624745 - url=${url#*--- } - echo >&2 "Process $url" - r1=${url#*#} - r2=${r1#*:} - r1=${r1%:*} - - # http://websvn.kde.org/branches/KDE/3.5/kdepim/kpilot/conduits/vcalconduit/vcalRecord.cc?rev=624745&r1=612579&r2=624745&makepatch=1&diff_format=u - # http://websvn.kde.org/branches/KDE/3.5/kdenetwork/kopete/protocols/oscar/aim/aimcontact.cpp?r1=609808&r2=673027&view=patch - url=http://websvn.kde.org/${url% *} - url="$url?r1=$r1&r2=$r2&view=patch" - - if [ -t 1 ]; then - wget "$url" -O -| tee m.patch | diffcol - else - wget "$url" -O - - fi -} +alias pclean="sed -i~ -e '/^\(?\|=\+$\|unchanged:\|diff\|only\|Only\|Tylko\|Files\|Common\|Index:\|RCS file\|retrieving\)/d'" # merges two patches # requires: patchutils @@ -287,19 +240,11 @@ sed -e ' ' ${1:+"$@"} } -# chdir to file location and do 'cvs log' -cvslog() { - local f="$1" - local d="${f%/*}" - [ "$d" = "$f" ] && d=. - (builtin cd $d && cvs log ${f##*/}) -} - # does diff between FILE~ and FILE # the diff can be applied with patch -p1 d() { - local file="$1" - local dir diff + local file="$1" dir + shift if [[ "$file" = /* ]]; then # full path -- no idea where to strip dir=. @@ -310,17 +255,10 @@ d() { diff=${PWD##*/}/${file} fi - (builtin cd "$dir"; dif $diff{~,}) + (builtin cd "$dir"; dif $diff{~,} "$@") } -rpmb() { - local SPEC SPECDIR arg - for arg in "$@"; do - case "$arg" in - *.spec) SPEC="$arg" - ;; - esac - done - SPECDIR=$(dirname "$(pwd)/${SPEC:-.}") - command rpmbuild --define "_specdir $SPECDIR" --define "_sourcedir $SPECDIR" "$@" +# spec name from NVR +rpm2spec() { + sed -re 's,^(.+)-[^-]+-[^-]+$,\1.spec,' }