Je souhaite configurer un référentiel SVN sur mon ordinateur sans accès au réseau. Je travaille sur un code sans aucun collaborateur, donc je ne veux pas qu'il soit accessible au public.
J'ai lu cet article , mais il suggère d'utiliser des services de référentiel SVN en ligne qui offrent des référentiels gratuits. Dans ce cas, mon code sera accessible au public (comme cela est inclus dans les conditions des plans gratuits).
Je me demandais donc si je peux configurer un serveur local sur ma machine Windows XP auquel seul j'accède même si je n'ai pas de connexion Internet?
Réponses:
La façon la plus simple de configurer un serveur local est d'utiliser svnserve :
Cependant, vous n'avez pas vraiment besoin d' un serveur subversion, si tout ce que vous voulez faire est d'accéder localement au référentiel, car vous pouvez accéder à un référentiel subversion via une URL de fichier, comme décrit dans cette réponse :
Si vous utilisez TortoiseSVN , vous pouvez trouver des instructions sur Création du référentiel avec TortoiseSVN :
Immédiatement au-dessus de cette page décrit également comment créer un référentiel à partir de la ligne de commande .
Cela dit, je recommanderais que vous jetiez un œil à Mercurial ou Git comme alternative
svn
. Si vous êtes familier avec TortoiseSvn, alors vous trouverez TortoiseHg et TortoiseGit une transition facile, en plus il vous donne la flexibilité de travailler de manière distribuée plus tard si vous en avez besoin. Par exemple, dans le passé, j'ai utilisé des clés USB pour transférer deshg
référentiels entre des machines sans accès au réseau, et lorsque vous travaillez de cette façon, vous obtenez une sauvegarde gratuite.la source
Serveur le plus simple (et le plus rapide), que vous pouvez utiliser pour travailler avec le référentiel local, intégré à chaque client svn . Il s'agit d'un serveur permettant d'accéder à n'importe quel référentiel et à toute quantité de référentiels , existant sur le système de fichiers local, à l'aide du fichier de protocole: ///. Il ne fournit aucune méthode d'autorisation ou d'authentification, n'accorde qu'un accès illimité complet au référentiel sous contrôle, mais, d'autre part, il permet d'utiliser et donne toutes les fonctionnalités du système VCS en soi.
Afin d'utiliser ce serveur, vous avez dans n'importe quel répertoire vide dans n'importe quel emplacement appelez la commande CLI svnadmin avec la sous-commande et les paramètres correspondants (je ne me souviens pas, y a-t-il des programmes administratifs dans le bundle CLI-client ou non et ne peut pas vérifiez-le - je n'ai pas installé CLI svn-client, seulement TortoiseSVN, qui ont ces programmes dans le programme d'installation dans la version 1.7) - J'espère que vous pourrez le trouver.
svnadmin help
montrez-nous toutes les sous-commandes disponibles, nous sommes maintenant intéressés par la sous-commandecreate
.svnadmin help create
fournir tous les détails nécessaires pour nousAu point de départ du premier dépôt, nous pouvons ignorer toutes les options de réglage fin et ne nous souvenir que de la forme principale
svnadmin create REPOS_PATH
, REPOS_PATH est le chemin absolu ou relatif vers le répertoire vide, prévu pour le dépôt. Étant donné que la plupart du temps, les utilisateurs Windows ordinaires pour les applications multiplates-formes peuvent confondre les personnes, quelle notation (barre oblique ou barre oblique inverse) utiliser dans le chemin (metoo), le moyen le plus sûr est l'cd
emplacement, d'où notre répertoire est visible sans long chemin - parent du futur repo-directory ou du répertoire lui-même. Pour prévu pour repoz:\Main
avantsvnadmin create
et, enfin,
En conséquence, nous obtenons un référentiel vide créé dans le répertoire, qui apparaît dans l'Explorateur Windows avec une icône spéciale comme indicateur de contenu
Maintenant, chaque fois que ce référentiel est nécessaire, nous utilisons les commandes SVN habituelles, la partie URL ou les paramètres semblent
file:///Z:/Main
(J'ai ajouté un arbre de référentiel standard dans le référentiel).
Décortiquons cette étrange URL:
file:///
, comme pour toute URL, signifie protocole d'accès, dans notre cas le protocole est spécial, et a trois, pas deux barres obliquesZ:/Main
est le chemin complet du repo avec le lecteur et le chemin à l'intérieur du lecteur, toutes les barres obliques inverses de Windows sont remplacées par des barres obliques "classiques"De tout autre point, ce référentiel n'a aucune différence avec "Big Brothers" avec des serveurs Subversion spéciaux
la source
Essayons une réponse qui recommande des solutions génériques plutôt que spécifiques.
Tout d'abord oui, vous pouvez utiliser Subversion sur un ordinateur autonome - vous pouvez installer le serveur localement ou vous pouvez travailler avec le fichier: //
Mais à moins qu'il n'y ait une très bonne raison pour laquelle vous devez utiliser la subversion, je dirais que ce n'est pas la meilleure solution au problème du contrôle de version local - notamment parce qu'il échoue à l'une des choses que je considère comme essentielles, à savoir vous assurer que vous le code source se trouve à au moins deux endroits (oui, même pour des choses personnelles). Je suggère donc d'utiliser un système de contrôle de version distribué (DVCS).
L'un des avantages de DVCS est que, une fois les outils installés, les référentiels sont autonomes dans un dossier et vous pouvez synchroniser le contenu entre différents dossiers contenant le "même" dépôt tant que vous avez un accès au niveau fichier. Vous avez également la possibilité de parler aux versions "serveur" de ces dépôts (qui sont soit hébergés en privé, soit disponibles en tant que service). Cela rend la vie beaucoup plus facile de tout exécuter localement.
Le DVCS présente également d'autres avantages.
Comme je l'ai déjà noté, je ne pense pas que vous ayez vraiment une solution VCS appropriée tant que votre code n'est pas sur au moins deux machines (en particulier deux disques durs distincts et idéalement dans plus d'un emplacement - bien que le clonage et la poussée pour dire une clé USB ou Le stockage "cloud" (skydrive, dropbox, et al) est une autre manière qui devrait également fonctionner).
En ce qui concerne DVCS - je regarderais Mercurial (Hg) et Git et également Veracity . J'utilise Mercurial parce que c'est encore plus agréable sur Windows ...
Si vous êtes des termes de services hébergés, je suis d'accord pour dire qu'il y a énormément à féliciter github - mais il y a aussi beaucoup de bonnes choses à propos de bitbucket et Fogbugz / Kiln ... et la même chose est probablement vraie pour beaucoup d'autres services que je n'ai pas listé (par exemple http://beanstalkapp.com/ qui m'a été mentionné en passant sur twitter plus tôt dans la journée)
la source
Subversion ne nécessite pas de serveur. Il utilise un référentiel centralisé, mais ce référentiel est accessible via la méthode d'accès «fichier», ce qui signifie que vous avez simplement besoin d'accéder au système de fichiers sur lequel le référentiel est stocké. La façon la plus simple de configurer cela serait de créer un dossier quelque part sur votre disque dur, de pointer TortoiseSVN (ou un outil similaire) et de «créer un référentiel ici». De là, vous pouvez faire tout ce dont vous avez besoin pour obtenir votre code dans le référentiel.
Cependant, à long terme, il est probablement préférable d'utiliser un SCM distribué, les meilleurs candidats étant git (plus puissant, courbe d'apprentissage abrupte, fonctionne mieux sur * nix) et mercurial (légèrement moins puissant, facile à apprendre, fonctionne également bien sur windows et * nix). Avec ceux-ci, votre copie de travail contient l'intégralité du référentiel et vous pouvez créer autant de clones (distants ou locaux) que vous le souhaitez. Vous pouvez démarrer localement et si vous décidez d'héberger le référentiel en externe, vous clonez simplement votre référentiel local existant vers l'emplacement externe et vous pouvez synchroniser à tout moment dans les deux sens. Mieux encore, car chacun de vos clones contient l'intégralité de l'historique du projet, le SCM fait également office de système de sauvegarde. Avec subversion, si votre serveur meurt et que vous ne l'avez pas sauvegardé, votre historique est parti - avec git,
http://hginit.com/ propose un excellent didacticiel pour démarrer avec mercurial.
la source
Il existe de nombreuses sociétés d'hébergement SVN qui offrent un compte gratuit pour un ou deux développeurs et n'exigent pas que votre code soit public. Consultez le tableau lié pour des frais de 0 $, OSS requis = NON. Je compte actuellement neuf fournisseurs qui répondent à ces critères.
Bien que vous puissiez certainement héberger votre propre référentiel très facilement, l'utilisation d'un fournisseur présente certains avantages:
Vous pouvez accéder à votre code de n'importe où sans configuration supplémentaire.
Garder votre code hors site vous protège contre les pannes de disque dur, les incendies, etc.
Frais administratifs réduits.
la source