2010-10-26 5 views
1

J'ai des problèmes avec tortoiseSVN et Subversion. Le processus est le suivant:tortoiseSVN - le fichier est périmé

  1. créer un nouveau référentiel sur l'ordinateur A.
  2. je accéder au dépôt d'une copie de travail sur l'ordinateur B (nous utilisons un réseau pair à pair, les deux PC avec Windows Vista).
  3. Je copie des fichiers et des répertoires pour un site Web ASP.NET dans la copie de travail.
  4. J'ajoute les fichiers, puis les valide. Jusqu'ici tout va bien.
  5. modifier un fichier dans la copie de travail sur PC B.
  6. je commets le fichier, puis les problèmes commencent:
  7. D'abord, tortoiseSVN ne parvient pas à commettre, car il ne peut pas supprimer un fichier dans le référentiel.
  8. Une deuxième tentative de validation et tortoiseSVN indique que le fichier est obsolète.
  9. Je lance une mise à jour de tortoiseSVN sur PC B. Réussite, sans changement.
  10. J'essaie d'exécuter le commit sur le PC B et obtenir le même fichier obsolète erreur.

Il me semble comme suit:

La première partie a réussi commit, malgré l'erreur. Par conséquent, le fichier est obsolète lorsque j'essaie de valider une seconde fois.

Cependant, il y a clairement quelque chose d'autre qui ne va pas: vérifier une nouvelle copie de travail, cette fois sur PC A, montre que les modifications apportées au fichier ont été validées. Je peux alors faire des changements et les commettre sans problèmes. Notez que le référentiel est sur le PC A. Les copies de travail sur le PC A semblent donc fonctionner correctement.

Le réseau peer to peer semble également fonctionner correctement.

Donc, je ne sais vraiment pas quoi faire. Nous avons besoin de deux personnes travaillant sur ce site, nous avons donc besoin du contrôle de version.

Toute aide appréciée. Je suis maintenant à l'étape de la tarte aux yeux où je ne sais vraiment pas quoi essayer ensuite.

+0

Avez-vous créé un serveur Subversion? Il semble que vous ne regardez pas .. visualsvn.com là-bas vous trouverez une configuration de Windows pour configurer un serveur SVN avec un petit effort hors de la boîte (en cliquant simplement plusieurs fois) ... Votre référentiel est situé sur un lecteur réseau je suppose? – khmarbaise

+0

Non, étant donné que nous utilisons un réseau peer to peer, le référentiel se trouve sur l'un des PC. TortoiseSVN fonctionne très bien pour nous depuis des années, sans serveur SVN. – awrigley

+0

Le lecteur sur lequel se trouve le dépôt est partagé, l'url étant du modèle: \\ PCNAME \ Repositories – awrigley

Répondre

1

Cela ressemble à un conflit d'arborescence , qui sont bien décrits sur Resolving Conflicts.

+0

Zellus, merci de lire cela plus en détail dans la matinée, car il y a des suggestions qui méritent d'être suivies. En ce qui concerne mon problème, le dépôt est nouveau, donc je ne peux pas voir comment il peut avoir un conflit d'arbre. Il doit y avoir un autre problème, mais ne peut pas voir comment. Peut-être que les dossiers que j'ai ajoutés, qui faisaient partie d'un autre référentiel, ont un dossier .svn provenant d'un ancien référentiel qui s'y cache? – awrigley

+0

@awrigley: Les dossiers cachés * .svn * semblent être une raison probable. * svn export * peut aussi être utilisé pour les espaces de travail, afin d'omettre les dossiers * .svn *. – zellus

+0

Je pense en fait que j'avais exporté de l'ancien dépôt, donc ça ne devrait pas être ça. Quoi qu'il en soit, demain je vais exporter à nouveau et recréer le dépôt (encore une fois) et voir ce qui se passe. Merci. (toujours pas sûr de la raison pour accepter, mais vous êtes en tête de liste ...). – awrigley

1

Si vous utilisez le protocole file://, il faut noter que TortoiseSVN doesn't support it:

Bien qu'en théorie il est possible d'utiliser un référentiel FSFS sur un partage réseau et avoir plusieurs utilisateurs d'accéder à l'aide du fichier: // protocole, ce n'est certainement pas recommandé. En fait, nous le déconseillons fortement et nous ne soutenons pas une telle utilisation.

Une raison pour laquelle TortoiseSVN ne veut pas soutenir ce scénario est que si une personne met à jour leur TortoiseSVN et quelqu'un qu'ils travaillent avec ne pas, il peut causer toutes sortes de problèmes.

+0

Nous utilisons des URL, pas de fichier: // – awrigley

+1

Vous déclarez dans un commentaire ci-dessus que le chemin du référentiel est \\ PCNAME \ Repositories. C'est un UNC, pas une URL. Vous utilisez le protocole file: //, mais vous ne le réalisez probablement pas car Tortoise s'occupe des détails pour vous. – Dingo