[Cascavel-pm] Bash tricks
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quarta Junho 27 04:21:36 PDT 2007
On Jun 26, 2007, at 7:16 PM, Nelson Ferraz wrote:
> Estas são apenas duas funções que podem ser colocadas no
> seu .bash_profile para facilitar seu dia-a-dia; vocês conhecem outros
> truques interessantes?
# eu uso isto muito
SUBVERSION_PROJECT_ROOT=~/src
SUBVERSION_PROJECT_WEBDAV=https://svn.company.com/trunk/
SVN=$HOME/run/usr/bin/svn
MAKE=$HOME/run/usr/bin/make
PERL=$HOME/run/usr/bin/perl
# Autaliza meu código sem me chatear
alias UPDATE='(cd ${SUBVERSION_PROJECT_ROOT} ; svn up )'
# Roda os testes sem me chatear
alias TEST='(cd ${SUBVERSION_PROJECT_ROOT} ; prove -lrv t/ ) 2>&1
| tee ~/src/logs/last-test-run.log'
# Merge de versões sem me chatear:
## MERGE <local-path> <local-version> <remote-path> <remote-version>
## MERGE ~/src 11223 https://svn.company.com/trunk/ 100001
function MERGE() {
local $LOCAL_PATH=$1
local $LOCAL_VERSION=$2
local $REPO_PATH=$3
local $REPO_VERSION=$4
$SVN merge -r $LOCAL_VERSION:$REPO_VERSION $LOCAL_PATH $REPO_PATH
}
# Releases sem chateação
# Depende de usar Makefile.PL - é o padrão por aqui
alias TAG_RELEASE='( TODAY=$(date +"%Y%m%d");\
svn copy "${SUBVERSION_PROJECT_ROOT}" \
"${SUBVERSION_PROJECT_WEBDAV}/tags/
release/${TODAY}/";\
)'
# cria distfiles automaticamente a partir do seu fonte
function PACK_RELEASE() {
pushd ~/tmp
local $RELEASE_TAG=$1
svn export -r "${SUBVERSION_PROJECT_WEBDAV}/tags/release/$
{RELEASE_TAG}" "${PROJECT_NAME}"
cd "${PROJECT_NAME}"
$PERL Makefile.PL
$MAKE && $MAKE test && $MAKE dist
cp *.tar.gz ..
$RM -fR "${PROJECT_NAME}"
popd
}
É isso.
Alguém tem mais? Eu estou interessado em aumentar a minha
coleção... :-)
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm