64 votes

Forcer une commande svn checkout pour écraser les fichiers actuels

Je suis l'ajout d'un site existant pour SVN.

Les fichiers existent déjà sur le serveur, et maintenant copies identiques (- fichiers de configuration) existent dans le repo.

Je veux convertir le serveur web directory dans un SVN copie de travail, mais quand je le lance:

svn checkout http://path.to/svn/repo/httpdocs .

J'obtiens l'erreur: "svn: Échec de l'ajout du fichier ": objet du même nom existe déjà"

Toutes les idées sur la façon de dire svn de simplement remplacer les fichiers dont le contenu est le même?

52voto

Will Dean Points 25866

Avez-vous essayé l'option --force?

'svn help checkout' donne les détails.

5voto

Michael Potter Points 821

Je n'avais pas 1,5 disponible pour moi parce que je ne contrôle pas l'ordinateur. Le fichier qui me causait un problème se trouvait être un fichier .jar dans le répertoire lib. Voici ce que j'ai fait pour résoudre le problème:

 rm -rf lib
svn up
 

Cela s'appuie sur la réponse de Ned. C’est-à-dire que je viens de supprimer le sous-répertoire qui me causait un problème plutôt que l’ensemble du référentiel.

3voto

Ned Batchelder Points 128913

Extrayez du référentiel vers un nouveau répertoire, puis renommez l'ancien en old_crufty et le nouveau en my_real_webserver_directory , et le tour est joué.

Si votre intention est que chaque fichier soit dans svn, alors c'est un bon moyen de tester votre théorie. Si vous souhaitez que certains fichiers ne soient pas dans svn, utilisez la technique copier / coller de Brian.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X