Mercurial > hg > config
annotate .bashrc @ 332:d0f91aad5f84
better
| author | Jeff Hammel <jhammel@mozilla.com> | 
|---|---|
| date | Mon, 17 Jun 2013 23:47:14 -0700 | 
| parents | 133eb1ade1dd | 
| children | 5b67dd5ce0ba | 
| rev | line source | 
|---|---|
| 332 | 1 PROFILE=/etc/profile | 
| 2 if [ -e "${PROFILE}" ] | |
| 3 then | |
| 4 . "${PROFILE}" | |
| 5 fi | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 6 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 7 # Test for an interactive shell. There is no need to set anything | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 8 # past this point for scp and rcp, and it's important to refrain from | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 9 # outputting anything in those cases. | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 10 if [[ $- != *i* ]] ; then | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 11 # Shell is non-interactive. Be done now! | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 12 return | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 13 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 14 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 15 # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 16 if [[ -f ~/.dir_colors ]] ; then | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 17 eval $(dircolors -b ~/.dir_colors) | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 18 elif [[ -f /etc/DIR_COLORS ]] ; then | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 19 eval $(dircolors -b /etc/DIR_COLORS) | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 20 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 21 | 
| 67 
a791d862148c
add a default MOZCONFIG variable -- BE CAREFUL!
 Jeff Hammel <jhammel@mozilla.com> parents: 
66diff
changeset | 22 # variables | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 23 export BROWSER=$(which firefox) | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 24 export CLICOLOR=1 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 25 export EDITOR='emacs -nw' | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 26 export JS_EDITLINE=1 | 
| 171 
0110a435d2ce
use a directory for mozconfigs
 Jeff Hammel <jhammel@mozilla.com> parents: 
169diff
changeset | 27 export MOZCONFIG=~/mozilla/mozconfigs/mozconfig | 
| 88 
24f933c9d97f
add an xpcshell alias, silly ubuntu installed version is fuxored
 Jeff Hammel <jhammel@mozilla.com> parents: 
86diff
changeset | 28 export MOZSOURCE=~/mozilla/src/mozilla-central | 
| 
24f933c9d97f
add an xpcshell alias, silly ubuntu installed version is fuxored
 Jeff Hammel <jhammel@mozilla.com> parents: 
86diff
changeset | 29 export MOZOBJ=~/mozilla/src/obj-browser | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 30 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 31 # aliases | 
| 250 | 32 alias awd="python -c 'import os; print os.path.realpath(\".\")'" | 
| 246 
d9b8d176c449
add a thing to get the full path to current patch and start organizing aliases
 Jeff Hammel <jhammel@mozilla.com> parents: 
241diff
changeset | 33 alias currentpatch='echo `hg root`/.hg/patches/`hg qapp -v | head -n 1 | cut -f 3 -d " "`' | 
| 
d9b8d176c449
add a thing to get the full path to current patch and start organizing aliases
 Jeff Hammel <jhammel@mozilla.com> parents: 
241diff
changeset | 34 alias datestamp='date +%Y%m%d%H%M%S' | 
| 250 | 35 alias distribute='python setup.py egg_info -RDb "" sdist register upload' | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 36 alias grep='grep --colour=auto' | 
| 246 
d9b8d176c449
add a thing to get the full path to current patch and start organizing aliases
 Jeff Hammel <jhammel@mozilla.com> parents: 
241diff
changeset | 37 alias ls='ls --color=auto' | 
| 250 | 38 alias random="python -c 'import sys, random; foo = sys.argv[1:]; random.shuffle(foo); print \" \".join(foo)'" | 
| 314 | 39 alias weekstamp="date --date=\"$((`date '+%u'`-1)) days ago\" '+%b %d'" | 
| 250 | 40 alias wget='wget --no-check-certificate' | 
| 88 
24f933c9d97f
add an xpcshell alias, silly ubuntu installed version is fuxored
 Jeff Hammel <jhammel@mozilla.com> parents: 
86diff
changeset | 41 alias xpcshell="LD_LIBRARY_PATH=${MOZOBJ}/dist/bin ${MOZOBJ}/dist/bin/xpcshell" | 
| 241 | 42 | 
| 43 # bzconsole aliases for filing bugs | |
| 44 alias mozbase-bug="bz new Mozbase --cc ':wlach'" | |
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 45 alias mozbuild-bug="bz new --product Core 'Build Config' --cc ':gps'" | 
| 215 
bf4eb11045cc
front end for mozharness bugs
 Jeff Hammel <jhammel@mozilla.com> parents: 
171diff
changeset | 46 alias mozharness-bug="bz new 'Release Engineering: Automation (General)' --cc ':aki' --whiteboard 'mozharness'" | 
| 241 | 47 alias releng-bug="bz new 'Release Engineering: Automation (General)'" | 
| 217 | 48 alias talos-bug="bz new Talos --cc ':jmaher' --cc ':BYK'" | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 49 | 
| 66 | 50 # PROMPT | 
| 119 | 51 PS1='│' | 
| 52 PS2='.' | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 53 PROMPT_COMMAND='echo -ne "\033]0;${SSH_CLIENT/*/$HOSTNAME:}${PWD/~/~}\007"' | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 54 | 
| 66 | 55 # PATHs | 
| 316 | 56 export PATH=~/firefox:~/bin:~/bin/mozilla:~/python:$PATH:/usr/sbin:/usr/games/bin | 
| 169 
ab2fc6222f94
add virtualenv to the PYTHONPATH
 Jeff Hammel <jhammel@mozilla.com> parents: 
167diff
changeset | 57 export PYTHONPATH=~/python:$PYTHONPATH:~/virtualenv | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 58 | 
| 84 | 59 ### functions | 
| 60 | |
| 305 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 61 apply-patch() { | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 62 # apply a patch | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 63 # TODO: | 
| 331 | 64 # - rewrite in python! | 
| 305 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 65 # - extract this general pattern as a bash "decorator" like `lsdiff` in .bash_overrides | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 66 # - right now level=1; make this configurable (somehow) | 
| 331 | 67 | 
| 305 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 68 if (( ! $# )) | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 69 then | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 70 echo "No patch supplied" | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 71 return 1 | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 72 fi | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 73 | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 74 for patch in $@ | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 75 do | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 76 if expr "$1" : 'http[s]\?://.*' &> /dev/null | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 77 then | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 78 IS_URL="true" | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 79 else | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 80 IS__URL="false" | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 81 fi | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 82 | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 83 if [[ ${IS_URL} == "true" ]] | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 84 then | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 85 if curl --location "${patch}" 2> /dev/null | (command patch -p1 --dry-run &> /dev/null) | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 86 then | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 87 curl --location "${patch}" 2> /dev/null | command patch -p1 | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 88 continue | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 89 else | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 90 echo "curl --location ${patch} 2> /dev/null | command patch -p1 --dry-run" | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 91 curl --location "${patch}" 2> /dev/null | command patch -p1 --dry-run | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 92 return $? | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 93 fi | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 94 else | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 95 if patch -p1 --dry-run < ${patch} | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 96 then | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 97 patch -p1 < ${patch} | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 98 continue | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 99 else | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 100 echo "patch -p1 --dry-run < ${patch}" | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 101 patch -p1 --dry-run < ${patch} | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 102 return $? | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 103 fi | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 104 fi | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 105 done | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 106 } | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 107 | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 108 cdwin() { | 
| 305 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 109 # change directory to a window's location using its title, | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 110 # as that is set to the cwd by PS1 [?] | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 111 # TODO: ssh windows | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 112 DIR=$(xwininfo | dictify.py xwininfo | awk '{ print $NF }' | sed 's/"//g') | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 113 DIR=${DIR/\~/$HOME} | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 114 cd $DIR | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 115 } | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 116 | 
| 66 | 117 function colors() { | 
| 118 | |
| 119 CLR_WHITE="\033[0;37m" | |
| 120 CLR_WHITEBOLD="\033[1;37m" | |
| 121 CLR_BLACK="\033[0;30m" | |
| 122 CLR_GRAY="\033[1;30m" | |
| 123 CLR_BLUE="\033[1;34m" | |
| 124 CLR_BLUEBOLD="\033[0;34m" | |
| 125 CLR_GREEN="\033[0;32m" | |
| 126 CLR_GREENBOLD="\033[1;32m" | |
| 127 CLR_CYAN="\033[0;36m" | |
| 128 CLR_CYANBOLD="\033[1;36m" | |
| 129 CLR_RED="\033[0;31m" | |
| 130 CLR_REDBOLD="\033[1;31m" | |
| 131 CLR_PURPLE="\033[0;35m" | |
| 132 CLR_PURPLEBOLD="\033[1;35m" | |
| 133 CLR_YELLOW="\033[0;33m" | |
| 134 CLR_YELLOWBOLD="\033[1;33m" | |
| 135 CLR_NOTHING="\033[0m" | |
| 136 } | |
| 137 colors | |
| 138 | |
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 139 eend() { | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 140 # edit the end of a file with emacs | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 141 FILE=$1 | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 142 shift | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 143 emacs +`wc -l "$FILE"` $@ | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 144 } | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 145 | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 146 git-diff-master() { | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 147 # differences of a git repository with master | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 148 git diff $(git merge-base HEAD master) | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 149 } | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 150 | 
| 303 
266d6b337373
still doesnt work but what the fuck
 Jeff Hammel <jhammel@mozilla.com> parents: 
296diff
changeset | 151 EXCLUDES="(\.svn)|(\.mo$)|(\.po$)|(\.pyc$)|(\.hg$)|(\.git$)" | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 152 ff() { | 
| 304 
7ed290454f50
random cleanup but not much
 Jeff Hammel <jhammel@mozilla.com> parents: 
303diff
changeset | 153 # nice fast find function | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 154 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 155 if (( $# < 2 )) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 156 then | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 157 FILENAME='*' # default -- look in all files | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 158 else | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 159 FILENAME=$2 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 160 fi | 
| 76 | 161 CMD='command find -L $PWD -iname "${FILENAME}" -print0 2> /dev/null | xargs -r0 grep -il "$1" 2> /dev/null | egrep -v "${EXCLUDES}" 2> /dev/null' | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 162 # echo $CMD | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 163 eval $CMD | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 164 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 165 } | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 166 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 167 chainff() { | 
| 304 
7ed290454f50
random cleanup but not much
 Jeff Hammel <jhammel@mozilla.com> parents: 
303diff
changeset | 168 # chained fast find | 
| 
7ed290454f50
random cleanup but not much
 Jeff Hammel <jhammel@mozilla.com> parents: 
303diff
changeset | 169 | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 170 if (( $# < 2 )) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 171 then | 
| 304 
7ed290454f50
random cleanup but not much
 Jeff Hammel <jhammel@mozilla.com> parents: 
303diff
changeset | 172 return 1 # bad invocation | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 173 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 174 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 175 RESULTS=`ff "$2" "$1"` | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 176 shift 2 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 177 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 178 for i in $RESULTS | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 179 do | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 180 for arg in $@ | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 181 do | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 182 if grep -il "$arg" "$i" &> /dev/null | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 183 then | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 184 touch /dev/null | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 185 else | 
| 260 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 186 i="" | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 187 break | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 188 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 189 done | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 190 if [ -n "$i" ] | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 191 then | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 192 echo $i | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 193 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 194 done | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 195 } | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 196 | 
| 304 
7ed290454f50
random cleanup but not much
 Jeff Hammel <jhammel@mozilla.com> parents: 
303diff
changeset | 197 | 
| 66 | 198 cff () { | 
| 304 
7ed290454f50
random cleanup but not much
 Jeff Hammel <jhammel@mozilla.com> parents: 
303diff
changeset | 199 # contextual fastfind | 
| 66 | 200 if (( $# < 2 )); then | 
| 201 local FILENAME='*' # default -- look in all files | |
| 202 else | |
| 203 local FILENAME=$2 | |
| 204 fi | |
| 205 | |
| 206 for i in `ff "$1" "$FILENAME"`; do | |
| 207 echo -e "$CLR_GREEN--->>> ""$CLR_YELLOWBOLD""$i""$CLR_NOTHING" : | |
| 208 grep --color=auto -i -n -C 3 "$1" $i | |
| 209 done | |
| 210 | |
| 260 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 211 } | 
| 66 | 212 | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 213 tmpfile() { | 
| 305 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 214 # make a temporary file if `tempfile` not available | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 215 | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 216 if [ "$#" == "0" ] | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 217 then | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 218 args="tmp" | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 219 else | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 220 args=$@ | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 221 fi | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 222 | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 223 for i in $args | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 224 do | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 225 NEWNAME=${i}.$RANDOM | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 226 | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 227 while [ -e $NEWNAME ] | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 228 do | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 229 NEWNAME=${NEWNAME}.tmp | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 230 done | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 231 echo "$NEWNAME" | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 232 done | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 233 } | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 234 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 235 edpe() { | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 236 # edit and pipe the buffer to stdout | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 237 FILE=`tmpfile` | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 238 $EDITOR $FILE | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 239 cat $FILE | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 240 rm $FILE | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 241 } | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 242 | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 243 isrunning() { | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 244 # is a process running? (by name) | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 245 # see also: talos for a better version | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 246 for i in "$@" | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 247 do | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 248 ps axwww | grep "$i" | grep -v 'grep' | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 249 done | sort | uniq | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 250 | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 251 } | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 252 | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 253 killbyname() { | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 254 # kill a process by name | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 255 kill `isrunning "$@" | awk '{ print $1 }' | onelineit.py` | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 256 } | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 257 | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 258 fn() { | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 259 # full name | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 260 python -c "import os; print os.path.realpath('$*')" | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 261 } | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 262 | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 263 swap() { | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 264 # swap two files | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 265 if [ "$#" != "2" ] | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 266 then | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 267 echo "Usage: $FUNCNAME <file1> <file2>" | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 268 return | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 269 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 270 for i in "$1" "$2" | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 271 do | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 272 if [ ! -w "$i" ] | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 273 then | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 274 echo "$FUNCNAME: Can't move $i" | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 275 return 1 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 276 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 277 done | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 278 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 279 NEWNAME=`basename $1`.$RANDOM | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 280 while [ -e $NEWNAME ] | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 281 do | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 282 NEWNAME=${NEWNAME}.tmp | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 283 echo "$NEWNAME" | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 284 done | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 285 | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 286 mv "$1" "$NEWNAME" | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 287 mv "$2" "$1" | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 288 mv "$NEWNAME" "$2" | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 289 } | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 290 | 
| 330 | 291 buffer() { | 
| 292 # temporary buffer with cat and /dev/null | |
| 293 cat > /dev/null | |
| 294 } | |
| 295 | |
| 309 | 296 ### `which` commands | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 297 | 
| 309 | 298 realwhich() { | 
| 299 # which -> real paths | |
| 300 command which $@ | while read line | |
| 301 do | |
| 302 python -c "import os; print os.path.realpath('${line}')" | |
| 303 done | |
| 304 } | |
| 305 | |
| 310 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 306 whview() { | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 307 # which view | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 308 less `realwhich $@` | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 309 } | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 310 | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 311 whemacs() { | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 312 # which emacs | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 313 emacs -nw `realwhich $@` | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 314 } | 
| 
a6cd6900419e
whview and whemacs use realwhich
 Jeff Hammel <jhammel@mozilla.com> parents: 
309diff
changeset | 315 | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 316 ### functions for python | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 317 | 
| 305 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 318 pyfile() { | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 319 # python file path | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 320 python -c "import $1; print $1.__file__" | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 321 } | 
| 
fac01a1bcedf
add an apply-patch function
 Jeff Hammel <jhammel@mozilla.com> parents: 
304diff
changeset | 322 | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 323 setup-all() { | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 324 # setup all for development | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 325 # TODO: flowerbed? | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 326 for i in * | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 327 do | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 328 if [ -e "${i}/setup.py" ] | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 329 then | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 330 cd "${i}" | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 331 python setup.py develop | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 332 cd .. | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 333 fi | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 334 done | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 335 } | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 336 | 
| 296 | 337 recreate-venv() { | 
| 338 # recreate a virtualenv | |
| 339 VIRTUALENV="virtualenv.py" | |
| 340 for i in $@ | |
| 341 do | |
| 342 ${VIRTUALENV} --clear "${i}" | |
| 343 | |
| 344 SRCDIR="${i}"/src | |
| 345 if [ -d "${SRCDIR}" ] | |
| 346 then | |
| 347 . "${i}/bin/activate" | |
| 348 OLDPWD=${PWD} | |
| 349 cd "${SRCDIR}" | |
| 350 for j in * | |
| 351 do | |
| 352 if [ -e "${j}"/setup.py ] | |
| 353 then | |
| 354 cd "${j}" | |
| 355 python setup.py develop | |
| 356 cd .. | |
| 357 fi | |
| 358 done | |
| 359 cd "${OLDPWD}" | |
| 360 fi | |
| 361 done | |
| 362 } | |
| 363 | |
| 260 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 364 ### functions for version control systems | 
| 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 365 | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 366 svndance(){ | 
| 71 
3d111401010f
add a function to view the files in a diff
 Jeff Hammel <jhammel@mozilla.com> parents: 
67diff
changeset | 367 # do the svn import dance! | 
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 368 if (( $# )) | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 369 then | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 370 svn import $1 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 371 cd .. | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 372 rm -rf $OLDPWD | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 373 svn co $1 $OLDPWD | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 374 cd $OLDPWD | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 375 else | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 376 return 1 | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 377 fi | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 378 } | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 379 | 
| 71 
3d111401010f
add a function to view the files in a diff
 Jeff Hammel <jhammel@mozilla.com> parents: 
67diff
changeset | 380 difffiles() { | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 381 grep '^+++ ' $@ | sed 's/+++ b\///' | 
| 71 
3d111401010f
add a function to view the files in a diff
 Jeff Hammel <jhammel@mozilla.com> parents: 
67diff
changeset | 382 } | 
| 
3d111401010f
add a function to view the files in a diff
 Jeff Hammel <jhammel@mozilla.com> parents: 
67diff
changeset | 383 | 
| 260 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 384 hg-update-all() { | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 385 # update all hg repositories in the current directory | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 386 for i in *; | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 387 do | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 388 if [ -e $i/.hg ] | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 389 then | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 390 cd $i | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 391 hg pull | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 392 hg update | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 393 cd - | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 394 fi | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 395 done | 
| 84 | 396 } | 
| 397 | |
| 110 
bf567a0e8fef
add a hg-qcommit that does the right thing
 Jeff Hammel <jhammel@mozilla.com> parents: 
103diff
changeset | 398 hg-qcommit() { | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 399 message=$1 | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 400 hg qrefresh | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 401 if [ -z "${message}" ] | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 402 then | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 403 hg qcommit | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 404 else | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 405 hg qcommit -m "${message}" | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 406 fi | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 407 hgroot=$(hg root) | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 408 patches=${hgroot}/.hg/patches/ | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 409 if [ -e ${patches}.hg ] | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 410 then | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 411 cd ${patches} | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 412 hg push | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 413 fi | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 414 cd - | 
| 110 
bf567a0e8fef
add a hg-qcommit that does the right thing
 Jeff Hammel <jhammel@mozilla.com> parents: 
103diff
changeset | 415 } | 
| 
bf567a0e8fef
add a hg-qcommit that does the right thing
 Jeff Hammel <jhammel@mozilla.com> parents: 
103diff
changeset | 416 | 
| 89 
dfda4f7d4db4
add a command to generate those hgrc files i always need
 Jeff Hammel <jhammel@mozilla.com> parents: 
88diff
changeset | 417 hgrc() { | 
| 274 | 418 # write an hgrc file | 
| 419 # TODO: in the case you're in an `hg root`...what then? | |
| 420 # - NOTE: /home/jhammel is an `hg root`, so be careful! | |
| 421 # There should be a way to update $(hg root)/.hg/hgrc automatically | |
| 422 # Likewise, git | |
| 423 # Python script? .dotfile? | |
| 89 
dfda4f7d4db4
add a command to generate those hgrc files i always need
 Jeff Hammel <jhammel@mozilla.com> parents: 
88diff
changeset | 424 ROOT="${1}" | 
| 
dfda4f7d4db4
add a command to generate those hgrc files i always need
 Jeff Hammel <jhammel@mozilla.com> parents: 
88diff
changeset | 425 echo "[paths]" | 
| 
dfda4f7d4db4
add a command to generate those hgrc files i always need
 Jeff Hammel <jhammel@mozilla.com> parents: 
88diff
changeset | 426 echo "default = ${ROOT}" | 
| 
dfda4f7d4db4
add a command to generate those hgrc files i always need
 Jeff Hammel <jhammel@mozilla.com> parents: 
88diff
changeset | 427 echo "default-push = ssh://${ROOT#http*://}" | 
| 
dfda4f7d4db4
add a command to generate those hgrc files i always need
 Jeff Hammel <jhammel@mozilla.com> parents: 
88diff
changeset | 428 } | 
| 
dfda4f7d4db4
add a command to generate those hgrc files i always need
 Jeff Hammel <jhammel@mozilla.com> parents: 
88diff
changeset | 429 | 
| 260 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 430 ### functions for web content | 
| 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 431 | 
| 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 432 blog-file() { | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 433 echo "$HOME/web/blog/k0s/entries/public/$1" | 
| 260 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 434 } | 
| 
eacc4c5ed628
add an alias for mozbuild bugs and cleanup a bit
 Jeff Hammel <jhammel@mozilla.com> parents: 
250diff
changeset | 435 | 
| 330 | 436 ### | 
| 437 | |
| 101 | 438 flatten() { | 
| 439 directory=$PWD | |
| 440 if [ "$#" == "1" ] | |
| 441 then | |
| 442 directory=$1 | |
| 443 fi | |
| 444 cd $directory | |
| 445 unset find # don't use the alias | |
| 102 | 446 find . -name '*' -type f | sed 's/.\///' | while read line | 
| 101 | 447 do | 
| 448 filename=$(echo $line | sed 's/\//-/g') | |
| 449 mv "${line}" "${filename}" | |
| 450 done | |
| 451 for i in * | |
| 452 do | |
| 453 if [ -d $i ] | |
| 454 then | |
| 455 rm -rf "${i}" | |
| 456 fi | |
| 457 done | |
| 458 } | |
| 459 | |
| 103 
e841c419199e
add process command to get filehandles
 Jeff Hammel <jhammel@mozilla.com> parents: 
102diff
changeset | 460 filehandles() { | 
| 
e841c419199e
add process command to get filehandles
 Jeff Hammel <jhammel@mozilla.com> parents: 
102diff
changeset | 461 TMPFILE=$(tmpfile) | 
| 
e841c419199e
add process command to get filehandles
 Jeff Hammel <jhammel@mozilla.com> parents: 
102diff
changeset | 462 ps -e|grep -v TTY|awk {'print "echo -n \"Process: "$4"\tPID: "$1"\tNumber of FH: \"; lsof -p "$1"|wc -l"'} > ${TMPFILE} | 
| 
e841c419199e
add process command to get filehandles
 Jeff Hammel <jhammel@mozilla.com> parents: 
102diff
changeset | 463 . ${TMPFILE} | sort | 
| 
e841c419199e
add process command to get filehandles
 Jeff Hammel <jhammel@mozilla.com> parents: 
102diff
changeset | 464 rm ${TMPFILE} | 
| 
e841c419199e
add process command to get filehandles
 Jeff Hammel <jhammel@mozilla.com> parents: 
102diff
changeset | 465 } | 
| 
e841c419199e
add process command to get filehandles
 Jeff Hammel <jhammel@mozilla.com> parents: 
102diff
changeset | 466 | 
| 167 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 467 quotemail() { | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 468 | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 469 command='s/^/> /' | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 470 inplace="" | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 471 if [ "$#" == "2" ] | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 472 then | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 473 inplace="-i" | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 474 fi | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 475 | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 476 sed ${inplace} "${command}" "$1" | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 477 | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 478 } | 
| 
842e1fca024a
add a quotemail function for quoting mail
 Jeff Hammel <jhammel@mozilla.com> parents: 
147diff
changeset | 479 | 
| 317 | 480 rmktmp() { | 
| 481 | |
| 482 TMPDIR=~/tmp | |
| 483 if [ -e ${TMPDIR} ] | |
| 484 then | |
| 485 rm -rf ${TMPDIR} | |
| 486 fi | |
| 487 mkdir ${TMPDIR} | |
| 488 cd ${TMPDIR} | |
| 489 pwd | |
| 490 | |
| 491 } | |
| 492 | |
| 0 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 493 ### include overrides for commands | 
| 
f3ab51c79813
adding configuration from https://svn.openplans.org/svn/config_jhammel/
 k0s <k0scist@gmail.com> parents: diff
changeset | 494 source ~/.bash_overrides | 
| 47 
a0636527f809
regenerate fluxbox menus on shell
 Jeff Hammel <k0scist@gmail.com> parents: 
19diff
changeset | 495 | 
| 
a0636527f809
regenerate fluxbox menus on shell
 Jeff Hammel <k0scist@gmail.com> parents: 
19diff
changeset | 496 ### regenerate fluxbox menus here for convenience | 
| 
a0636527f809
regenerate fluxbox menus on shell
 Jeff Hammel <k0scist@gmail.com> parents: 
19diff
changeset | 497 MENU=~/web/site/programs.html | 
| 237 
b33d0c78132c
move menu regeneration to its own function
 Jeff Hammel <jhammel@mozilla.com> parents: 
224diff
changeset | 498 regeneratefluxmenu() { | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 499 if [ -e $MENU ] | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 500 then | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 501 # XXX could be safer | 
| 303 
266d6b337373
still doesnt work but what the fuck
 Jeff Hammel <jhammel@mozilla.com> parents: 
296diff
changeset | 502 # XXX ...along with the fluxbox menu option o_O | 
| 295 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 503 html2flux.py $MENU > ~/.fluxbox/applications | 
| 
e2564dd51334
slowly slowly, step by step...
 Jeff Hammel <jhammel@mozilla.com> parents: 
279diff
changeset | 504 fi | 
| 237 
b33d0c78132c
move menu regeneration to its own function
 Jeff Hammel <jhammel@mozilla.com> parents: 
224diff
changeset | 505 } | 
| 
b33d0c78132c
move menu regeneration to its own function
 Jeff Hammel <jhammel@mozilla.com> parents: 
224diff
changeset | 506 regeneratefluxmenu | 
