Pkgi s'accorde parfaitement avec n'importe quel système de gestion de versions (SGV). Il existe plusieurs façon d'utiliser conjointement pkgi et un SGV. La meilleur façon est très certainement d'intégrer totalement le répertoire pkgi/ dans l'arborescence versionnée de votre application.
Il n'y a pas de réponse unique à cette question, mais une règle à respecter :
Doivent être versionnés les répertoires générés par pkgi dans lesquels vous avez placés des fichiers propres à votre application.
Dans le cas d'une application LAMP couplé à Pxxo, on versionnera les répertoires et fichiers suivants :
usr/share/* pkgi/* var/www/* var/www/classes/* var/www/templates/* var/www/rsc/.htaccess var/www/rsc/index.php var/www/tmp/.htaccess var/www/tmp/index.php
et par conséquent on ignorera dans le HOME de l'application :
pkgi.env .pkgi bin etc tmp usr/bin/ usr/etc/ usr/lib/ usr/sbin/ var/cache/ var/lib/ var/lock/ var/log/ var/run/
De plus, dans la mesure du possible, on évitera cependant de versionner les fichiers suivants de l'éventuel dépôt PEAR (fichiers temporaires) :
usr/share/php/pear/.depdb usr/share/php/pear/.depdblock usr/share/php/pear/.filemap usr/share/php/pear/.lock
Pour économiser de l'espace disque on pourra également éviter de versionner les répertoires suivants :
usr/share/php/pear/tests/ usr/share/php/pear/docs/ usr/share/php/pear/data/
Un dépôt PEAR peut être ajouté rapidement et proprement en quelques commandes :
svn add -N usr/ svn add -N usr/share/ svn add -N usr/share/php/ svn add usr/share/php/pear/ svn revert --depth infinity usr/share/php/pear/tests/ \ usr/share/php/pear/docs/ \ usr/share/php/pear/data/ \ usr/share/php/pear/.depdb \ usr/share/php/pear/.depdblock \ usr/share/php/pear/.filemap \ usr/share/php/pear/.lock