[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