Sections
Propriétés
Enlever la propriété exécutable sur les fichiers.
find -type f -perm 755 -exec svn propdel svn:executable {} \;
statut des fichiers
svn status
Enlever des fichiers de la liste, propriétés: svn-ignore
# ignorer le dossier (dans le répertoire en cours) svn ps svn:ignore dossier . # ignorer tous les fichiers (dans le répertoire en cours) svn ps svn:ignore '*' . # pour utiliser un fichier .svnignore avec une liste de répertoire # svn ne lit pas dans le fichier à chaque svn status, la commande lit seulement le fichier une fois pour configurer la propriété svn:ignore svn ps svn:ignore -F .svnignore .
Installation de svn + https + authentification
subversion, apache2, libapache2-svn, openssl
HTTPS: voir Certificat pour apache avec debian # creer le dépôt svn mkdir -pv /var/lib/subversion svnadmin create /var/lib/subversion/repos # creer les directives d'apache vers svn ( dans le tag <virtual host> ) <Location /svn> DAV svn SVNPath /var/lib/subversion/repos AuthType Basic AuthName "Subversion repository" AuthUserFile /var/lib/subversion/repos/conf/svnusers Require valid-user SSLRequireSSL </Location> # creer le fichier d'authentification htpasswd -c /var/lib/subversion/repos/conf/svnusers user1
Droits d'accès
# creer un groupe svnusers groupadd svnusers # ajouter l'utilisateur www-data au groupe et ajouter les droits adduser www-data svnusers chgrp -R svnusers /var/lib/subversion/repos chmod -R g+w /var/lib/subversion/repos # vous devez redémarrer apache2 /etc/init.d/apache2 restart
Tester en créant un projet
# creer un projet bidon mkdir project1 echo "test1" > project1/file1 echo "test2" > project1/file2 svn import project1 --username user1 https://localhost/svn/project1 -m "Initial import" # si apache n'a pas les droits, vous aurez le message d'erreur suivant: # svn: Can't create directory '/var/lib/subversion/repos/db/transactions/0-1.txn': Permission denied svn list -R --username user1 https://localhost/svn/
Plus de restrictions
Dans le location /svn du virtual host: AuthzSVNAccessFile /var/lib/subversion/repos/conf/authz
/var/lib/subversion/repos/conf/authz [groups] project1 = user1 project2 = user2 admin = admin [/] #* = r @admin = rw [/project1] @project1 = rw [/project2] @project2 = rw
Problème de svnmerge.py ?
svnmerge: command execution failed (exit code: 1) svn --non-interactive merge --force -r 1:2 https://svn.example.com/trunk . svn: GET request failed: 400 Bad Request
Vérifier ~/.subversion/servers pour utiliser la bibliothèque neon et pas serf.
Il semblerait que la bibliothèque serf ne fonctionne pas pour des transferts trop important.
[groups] example = svn.example.com [example] #http-library = serf http-library = neon
svn diff
Couleur, apt-get install colordiff, ~/.subversion/config vim-diff = colordiff
Dernière modification: 2017-07-10 12:33:03 par Yan Morin
Hébergé par ProgYSM