Snippets tagged "subversion"
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
[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
Migrer un dépôt Subversion d'une machine à une autre
Sur l'ancienne machine :
$ svnadmin dump /var/lib/subversion/myproject > ~/myproject.svndump
$ scp ~/myproject.svndump new-server:
Sur la nouvelle machine :
$ svnadmin create /var/lib/subversion/myproject
$ svnadmin load /var/lib/subversion/myproject < ~/myproject.svndump
Via http://fashion.hosmoz.net/blog/post/2006/11/09/Migrer-un-depot-subversion
