2009-06-26 9 views
2

J'apprends à travailler avec SVN en utilisant Visual Studio.NET. Tout fonctionne très bien et tout, mais je ne pouvais pas comprendre quelque chose:Où sauvegarde Subversion?

J'ai mon code source d'origine à c: \ Source

J'ai créé un dépôt à c: \ repo (svn: // localhost)

j'ai ajouté ma solution à dépôt en utilisant VS.NET à svn: // localhost/MyProject/trunk

J'ai vérifié une copie de travail du référentiel/trunk à c: \ copie de travail

J'ai fait une quelques changements à myfile.cs de cette copie de travail et commis avec t toutes les erreurs. J'ai mis à jour au plus tard, vérifié à nouveau etc et tout est bon.

Mais, j'ai vérifié le même fichier c: \ source de \ myfile.cs à partir de Windows Explorer et il est l'ancienne version. Aucune modification n'a été faite. Je pensais que le travail d'engagement changerait la version du tronc d'origine? Est-ce que j'ai râté quelque chose? Ou suis-je comprendre la gestion du code source tout faux?

+1

Découvrez le livre de subversion http://svnbook.red-bean.com/fr/1.5/index.html Il vous guidera à travers les bases de l'utilisation de svn. – ScottS

Répondre

4

Votre copie de travail est, bien sûr, C:\working copy; Toute modification apportée à la copie de travail sera reflétée dans ces fichiers. Lorsque vous commettez , vous vous engagez à la prise en pension à C:\repo\<repo>, donc lorsque vous extrayez de cette prise en pension, vous verrez aussi les changements.

Les fichiers source d'origine dans C:\source, cependant, ne sont pas touchés, car ce n'est ni votre copie de travail ni le repo lui-même.

+0

Vrai, vrai. Je tapais la même chose mais tu me battais pour ça :-) – sjobe

2

En fait, votre C:\source n'a rien à faire plus avec la source elle-même. Il n'est connecté à rien (n'est pas un dossier de travail).

Vous avez votre dépôt à C:\repo, et les changements restent là quand vous effectuez une validation.

Vous téléchargerez les changements lorsque vous effectuez une UPDATE sur un dossier de travail (IE, C:\working copy)

2

Pour répondre à votre question de suivi: Vous voulez compiler le tronc en cours de dépôt, pas tout résulterait de automatiquement fusionner la copie de travail actuelle de tout le monde. Les chances que cela produise même du code compilant sont assez faibles.

Lorsque vous avez terminé un bon changement et le tester avec une construction locale, engager à SVN. Tout ce qui se trouve dans le référentiel est le code faisant autorité et votre système de compilation devrait le compiler.