Snippets tagged "svn"
Who committed in this SVN repository?
$ svn log -q | cut -d '|' -f 2 - | sort | uniq
Via Arnaud.
SVN based CSS/JS Caching trick
You want to be sure client (browser or real one) uses the very last css/js file everytime you update svn repository.
Here's my proposition :
Make a sfSVN.class.php
<?php /** * sfSVN : sf+SVN based CSS/JS caching trick * * @author [MA]Pascal <pborreli@sqli.com> */ class sfSVN { /** * returns the last revision number * * @return integer */ public static function getHeadRevision () { if (! file_exists($file = sfConfig::get('sf_root_dir') . DIRECTORY_SEPARATOR . '.svn/entries')) { return date('Ymd'); } $svn = file($file); return isset($svn[3]) ? (int) $svn[3] : date('Ymd'); } }
Tweak your view.yml
stylesheets:
- style.css?<?php echo sfSVN::getHeadRevision().PHP_EOL ?>
javascripts:
- functions.js?<?php echo sfSVN::getHeadRevision().PHP_EOL ?>
- set.js?<?php echo sfSVN::getHeadRevision().PHP_EOL ?>
Clear the cache
$ symfony cc
The result
<script type="text/javascript" src="/js/functions.js?158"></script> <script type="text/javascript" src="/js/set.js?158"></script> <link rel="stylesheet" type="text/css" media="screen" href="/css/style.css?158" />
Notes
This little script go read inside SVN file what's the last SVN revision number of your project everytime you clear the cache so it doesn't add much i/o.
Help me to get this script better if you have any idea :)
Cheers,
[MA]Pascal
Créer un patch SVN et l'appliquer
Pour mémoire, voici la méthode pour créer un patch depuis un dépôt subversion et l'appliquer sur un autre checkout de ce même dépôt :
$ cd /path/to/instance/1
$ svn diff /tmp/diff.patch
$ cd /path/to/instance/2
$ patch -p0 -i /tmp/diff.patch
Déplacement récursif SVN avec xargs
Pour déplacer n fichiers php d'un dépôt subversion :
$ find . -name *.php | xargs -I % svn mv "%" trunk/
On notera qu'on peut appliquer le principe pour toute commande dont l'ordre des arguments est exotique.
[Ubuntu] Intégrer Subversion dans Nautilus
SVN dans Nautilus via un clic droit, c'est possible :
$ sudo apt-get install nautilus-script-collection-svn
$ nautilus-script-manager enable Subversion
Merci glooze ;)
Ajouter automatiquement tous les nouveaux fichiers et dossiers dans un dépôt Subversion
The command line is my friend.
$ svn stat | grep ? | awk '{ print $2 }' | xargs svn add
