{{tag>Brouillon}} = Notes SVN Subversion == Client Voir : [[Svn erreur svn cannot negotiate authentication mechanism]] Voir aussi : **Git** svn status svn revert plop/foo svn rm plop/ svn commit -m "* message" "svn unadd" svn revert --recursive folder_name Mode non interactif svn --non-interactive --trust-server-cert --username toto --password 'P@ssw0rd' --no-auth-cache checkout https://srv-svn/projet Changer les droits posix. Equivalent à ''chmod +x '' svn propset svn:executable ON plop.sh Revert all svn revert -R . Undo commit svn update # Undo range svn merge -r UPREV:LOWREV . # Undo single revision svn merge -c -REV . Proxy ''~/.subversion/servers'' [global] # http-proxy-exceptions = *.exception.com, www.internal-site.org # http-proxy-host = defaultproxy.whatever.com # http-proxy-port = 7000 # http-proxy-username = defaultusername # http-proxy-password = defaultpassword http-proxy-host = 192.168.56.1 http-proxy-port = 3128 Ou voir ''/etc/subversion/servers'' === SVN diff avec Vimdiff ''~/.local/bin/svnvimdiff.sh'' #!/bin/sh /usr/bin/vimdiff ${6} ${7} chmod +x ~/.local/bin/svnvimdiff.sh Utilisation svn diff --diff-cmd ~/.local/bin/svnvimdiff.sh README.md Source : https://stackoverflow.com/questions/7866286/how-to-view-svn-diff-in-vimdiff-style-in-svn == Pb === Pb - svn demande le mot de passe à chaque commande - linux svn keeps asking for password ==== Solution 1 ''~/.subversion/config'' ou ''/etc/subversion/config'' [auth] password-stores = **Le mot de passe est enregistré en clair** ici : ''~/.subversion/auth/svn.simple/'' Ou sinon ''~/.bashrc'' # gpg-agent is used by svn (svn keep asking for password if GPG_TTY is not set) GPG_TTY=$(tty) export GPG_TTY ==== Solution 2 Utiliser l'option ''--no-auth-cache'' svn --non-interactive --trust-server-cert --username toto --password 'P@ssw0rd' --no-auth-cache checkout https://srv-svn/projet == Serveur === Install serveur Subversion Voir : https://doc.ubuntu-fr.org/subversion Voir aussi : * https://technique.arscenic.org/services-web/subversion-et-trac/article/installation-du-serveur-svn Source : https://stackoverflow.com/questions/4797242/install-subversion-on-ubuntu-with-nginx-not-apache Si pas besion de HTTP svnadmin create /path/to/repository Puis Then you can check out local copies directly: svn co /path/to/repository /path/to/my/checkout Ou over ssh: svn co svn+ssh://server/path/to/repository ==== Notes install avec Apache Source : http://hikage.developpez.com/linux/tutoriels/subversion/?page=page_2 apt-get install subversion libapache2-mod-svn libapache2-svn apache2 apache2-utils #subversion-tools a2enmod dav_svn mkdir -p /var/subversion/depot/ svnadmin create /var/subversion/depot/projet1/ ''/etc/apache2/mods-available/dav_svn.conf'' DAV svn Require valid-user SVNParentPath /var/subversion/depot/ AuthType Basic AuthName "Mon dépôt" AuthUserFile /var/subversion/conf/htpasswd AuthzSVNAccessFile /var/subversion/conf/access mkdir /var/subversion/conf/ htpasswd -c /var/subversion/conf/htpasswd jibe htpasswd /var/subversion/conf/htpasswd utilisateur2 ''/var/subversion/conf/access'' [groups] devfoo = jean, utilisateur2 [projet1:/] @devfoo = rw [projetprivejean:/] jean = rw * = r [projetprivejean:/documentation/utilisateur] auteurdoc = rw chown www-data: -R /var/subversion/ mkdir /tmp/plop cd /tmp/plop mkdir trunk tags branches svn import file:///var/subversion/depot/projet1 -m 'Initial project directories' ==== Notes install sans Apache cd /var/ mkdir svn svnadmin create /var/svn/projet1 #chmod o-r /var/svn/projet1/conf/authz #chmod o-r /var/svn/projet1/conf/passwd cd /var/svn/projet1 mkdir trunk tags branches #svn import /var/svn/projet1/tags file:///var/svn/projet1/ -m 'Initial project directories' ''/var/svn/projet1/conf/svnserve.conf'' [general] anon-access = none password-db = passwd realm = Projet 1 ''/var/svn/projet1/conf/passwd'' [users] jibero = jibe jiberw = jibe ''/var/svn/projet1/conf/authz'' [/plop] jibe = rw sudo addgroup svn --system sudo adduser svn --system --home /var/svn --no-create-home --ingroup svn sudo chown -R svn: /var/svn su - svn -s /bin/bash -c 'svnserve -d --foreground -T -r /var/svn/projet1 --listen-port=3690 --listen-host=localhost'