Snippets tagged "subversion" 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

by Pascal Borreli on 2008-10-21, tagged caching  css  js  subversion  svn 

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
by Nicolas Perriault on 2008-04-11, tagged cli  diff  patch  subversion  svn 

[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 ;)

by Nicolas Perriault on 2007-01-30, tagged linux  nautilus  subversion  svn  ubuntu 

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
by Nicolas Perriault on 2007-01-30, tagged awk  cli  grep  linux  subversion  svn 

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

by Nicolas Perriault on 2006-11-12, tagged linux  subversion  sysadmin