rss
twitter
  • Showcase
  • Carrières
  • Support
  • GitLab
  • Espace client
  • Contact

SVN avec plusieurs repositories sous Snow Leopard (X.6)

0

Le dossier qui va recevoir les dépôts SVN :

Germain:Datas germain$ svnadmin create /Volumes/Datas/svn

Voyons voir ce qu’il y a dedans :

Germain:Datas germain$ cd /Volumes/Datas/svn
Germain:svn germain$ ls
README.txt conf db format hooks locks

Ça semble normal.

A présent on veut configurer la machine pour recevoir plusieurs repos :

Germain:svn germain$ mkdir repositories
Germain:svn germain$ cd repositories/
Germain:repositories germain$ svnadmin create test1
Germain:repositories germain$ svnadmin create test2

On va killer svnserve et faire en sorte qu’il prenne notre dossier {repositories} en root :

Germain:repositories germain$ killall svnserve
Germain:repositories germain$ svnserve -d -r /Volumes/Datas/svn/repositories/

img1

On voit que ça marche, et je fais volontairement une capture d’écran de Dreamweaver parce que j’encule tous ceux qui soutiennent mordicus que cet IDE est pourri. Moi j’aime bien certaines de ses qualités et quand je suis confronté à certains de ses inconvénients je fais comme tous les gens supérieurs : j’ouvre Netbeans.
Et une fois de plus, ceux qui trouvent que j’ai des goûts de merde en matière d’IDE, je vous encule.

Bon a présent vous remarquerez un truc si vous fermez votre session (redémarrage de la machine par exemple) :

img2

Oui, svnserve n’a pas redémarré correctement.
Sous OS X pour gérer ça on passe par des fichiers plist.
Un bon éditeur de fichiers plist : Lingon

Ouvrez-le et faites un New User Deamon :
img3

* Andrew Bednarz surggère de l’appeler {org.subversion.svnserve} (champ Name
* Dans What on va mettre la racine des repos : {/usr/bin/svnserve –inetd –root=/Volumes/Datas/svn/}
* Enfin passez en mode Expert et collez ça sous la balise ouvrante de la section {} :

<key>Sockets</key>
<dict>
 <key>Listeners</key>
 <dict>
   <key>SockFamily</key>
   <string>IPv4</string>
   <key>SockServiceName</key>
   <string>svn</string>
   <key>SockType</key>
   <string>stream</string>
 </dict>
</dict>
<key>inetdCompatibility</key>
<dict>
 <key>Wait</key>
 <false/>
</dict>
<key>Umask</key>
<integer>2</integer>
<key>UserName</key>
<string>svn</string>
<key>GroupName</key>
<string>staff</string>


Et maintenant au logout c’est bon.

Cool.

Voir en ligne : Source

DATE 21 Fév 2010
by : Germain
Author / Auteur

Social Share / Partager

    Leave a Reply / Répondre Annuler la réponse

    *
    *

    More in Desktop : OS X

    • Autoriser le chargement de contenus mixtes non-https dans Chrome (Mac)
    • Quel php.ini (MAMP ou Linux), quelle valeur de phpinfo() ?
    • Ouvrir un dossier (ex : Corbeille) depuis la ligne de commande
    • LaCie 2big NAS / 5big NAS : SSH + rsync
    • Git avec SourceTree : ouvrir dans TextMate / ouvrir dans Sublime Text 2

    Search the blog

    Blog categories

    • Front-end : HTML, CSS (13)
    • Workflow (1)
    • Front-end : javascript, jQuery (33)
    • Back-end : PHP, CMS (42)
    • Back-end : SQL, MySQL (20)
    • Sysadmin : Linux, Apache, GIT (75)
    • Designers : tools, advice (2)
    • Desktop : OS X (37)
    • Desktop : Microsoft (12)
    • Uncategorized (8)

    ITALIC™ Resources

    • Paramètres de connexion au serveur mail
    • Graphistes : séduire un développeur web
    • Dév front : nos bonnes pratiques
    • Mailing : nos (bonnes ?) pratiques
    • Environnement de travail Mac

    Recent posts

    • Autoriser le chargement de contenus mixtes non-https dans Chrome (Mac)
    • Afficher les logs MySQL
    • Recevoir un mail lors de la connexion root à un serveur
    • Changer l’interclassement de plusieurs tables MySQL à la fois (ou presque
    • Maildev : tester l’envoi de mails durant ses développements
    © 2008-2017 ITALIC™ • 8 bis rue Abel • 75012 PARIS • Tel +33 (0)1 48 44 46 35 • RCS PARIS 508 228 772 • Powered by WordPress & GoodLayers
    Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web.
    Cookie settingsACCEPTER
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necessary
    Toujours activé
    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
    Non-necessary
    Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
    Enregistrer & appliquer