SVN reste en conflit?


284

Comment sortir ce répertoire du conflit? Je me fiche que ce soit résolu en utilisant "le leur" ou "le mien" ou autre chose ...

PS C:\Users\Mark\Desktop\myproject> svn ci -m "gr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

PS C:\Users\Mark\Desktop\myproject> svn resolve --accept working C:\Users\Mark\Desktop\myproject\addons
Resolved conflicted state of 'C:\Users\Mark\Desktop\myproject\addons'

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grr"
svn: Commit failed (details follow):
svn: Commit item 'addons' has copy flag but an invalid revision

PS C:\Users\Mark\Desktop\myproject> svn update
   C addons
svn: Can't move 'addons\debug_toolbar\templates\debug_toolbar\.svn\tmp\entries' to 'addons\debug_toolbar\templates\debug
_toolbar\.svn\entries': The file or directory is corrupted and unreadable.

PS C:\Users\Mark\Desktop\myproject> svn cleanup

PS C:\Users\Mark\Desktop\myproject> svn update
Skipped 'addons'
At revision 51.
Summary of conflicts:
  Skipped paths: 1

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grrr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

93
la réponse est: [nom de fichier résolu svn] faites ceci plutôt que la solution acceptée.
Travis Schneeberger

1
@TravisSchneeberger la solution acceptée est très bien 😉
Hi-Angel

svn resolved * filename * ne le résout pas pour moi.
reinierpost

Réponses:


447

Exécutez la commande suivante:

svn resolved <filename or directory that gives trouble>

(Merci à @Jeremy Leipzig pour cette réponse dans un commentaire)


35
Sérieusement, si vous ne vous souciez pas de la façon dont il est résolu (peut-être que vous allez simplement le supprimer de toute façon), c'est la bonne réponse.
invvertSpear

1
Cela ne résout rien. L'erreur se reproduira probablement lors du prochain commit.
Tadej

Merci beaucoup, ça marche pour moi! Vous devez dans votre repo racine svn, vous pouvez utiliser cette commande!
GeekHades

276

Ok, voici comment y remédier:

svn remove --force filename
svn resolve --accept=working  filename
svn commit

plus de détails sont disponibles sur: http://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.html


Si vous travaillez avec l'IDE Eclipse, vous pouvez également appliquer ma solution "sans ligne de commande", que j'ai décrite dans une réponse séparée ci-dessous.
Peter Wippermann

3
en utilisant svn 1.7.4, svn help résoudre indique qu'il "a été déconseillé en faveur de l'exécution de" svn resolver - accept working "."
wreckgar23

35

Pour moi, seule l' option --depth infinity corrigée annuaire de Svn fixe reste dans le problème confict:

svn revert --depth infinity "<directory name>"
svn update "<directory name>"

1
restaurer un répertoire entier de fichiers ou un fichier n'existe plus
biology.info

Pour résoudre le conflit de fichiers supprimés localement qui existe sur le serveur, cette option a fonctionné ..
Neo

1
Merci beaucoup. "svn revert --depth infinity." travaillé pour moi et restauré les fichiers supprimés, qui ne réapparaissaient pas seulement avec "svn up"
Rauli Rajande

16
  1. résolution svn
  2. nettoyage svn
  3. mise à jour svn

..ces trois commandes CLI svn dans cette séquence tandis que cd-ed dans le bon répertoire ont fonctionné pour moi.


@Elad Tabak: Dans mon cas, je devais le faire dans le répertoire parent du fichier qui me causait des problèmes, c'est peut-être ce que vous avez rencontré
Jay Sullivan

11

Si vous utilisez l'IDE Eclipse et que vous tombez sur cette erreur lors de la validation, voici une solution intégrée à l'outil pour vous. J'utilise Subclipse, mais la solution pour Subversive pourrait être similaire.

Ce que vous n'avez peut-être pas remarqué, c'est qu'il y a un symbole supplémentaire sur le fichier en conflit, qui marque en effet le fichier comme "en conflit".

Faites un clic droit sur le fichier, choisissez "Équipe" et "Modifier les conflits ...". Choisissez l'action appropriée. J'ai fusionné le fichier manuellement au niveau du texte auparavant, j'ai donc pris la première option, qui prendra l'état actuel de votre copie locale comme "solution résolue". Maintenant, appuyez sur "OK" et c'est tout.

Le symbole en conflit aurait dû disparaître et vous devriez pouvoir vous engager à nouveau.


2
En outre, en cas de conflit de répertoire, vous pouvez faire "Équipe-> Afficher les conflits d'arborescence", puis examiner tous ces conflits et les marquer comme résolus (dans une fenêtre "Conflits d'arborescence SVN" séparée)
altumano

6

Une autre solution ci-dessous,

Si l'intégralité du dossier est supprimé et que SVN génère l'erreur "le fichier admin .svn est manquant", ce qui suit sera utilisé pour résoudre le conflit en état de fonctionnement.

svn resolve --accept working "file / directory name "

3

Instructions pour Tortoise SVN

Accédez au répertoire dans lequel vous voyez cette erreur. Si vous n'avez aucune modification, procédez comme suit

une. Cliquez avec le bouton droit et effectuez une «inversion»
b. Sélectionnez tous les fichiers
c. Mettez ensuite à jour le répertoire


3

J'utilise la commande suivante afin de supprimer les conflits en utilisant la ligne de commande

svn revert "location of conflict folder" -R
svn cleanup
svn update

pour rétablir le répertoire courant

svn revert . -R

Hahahaha, non ne fais pas ça. Ça va faire de mauvaises choses.
Chouette

Cela
annulerait

il fonctionne en fait pour certains problèmes comme les conflits et ne peut être résolu que via cli
zero8

2

Si vous rencontrez des problèmes de résolution (comme moi) et que vous ne pouvez pas supprimer et mettre à jour les ressources car vous y avez apporté de nombreuses modifications, et que vous utilisez subversive eclipse au lieu du client natif, procédez comme suit:

  1. faire une copie de tout le dossier de votre projet
  2. effectuer l'équipe> déconnecter dans eclipse, et choisir de supprimer les métadonnées svn
  3. puis choisissez équipe> partager le projet et pointez sur le même dossier dans lequel se trouve votre projet
  4. choisissez oui et validez tout (vous voudrez peut-être exclure certaines ressources très locales, comme les fichiers de configuration)
  5. si vous avez supprimé ou déplacé certaines ressources avant votre premier essai de validation, supprimez ces anciennes ressources (elles devraient avoir doublé, une dans l'ancien emplacement, une dans le nouveau) et validez ces suppressions.

Vous avez terminé.


2

Je suppose que la bonne solution est:

(1) backup your-file/your-directory
(2) svn revert your-file/your-directory
(3) svn update your-file/your-directory
(4) Merge the backup your-file/your-directory to the updated one.
(5) svn ci -m "My work here is done"

0

J'ai eu un problème similaire, voici comment cela a été résolu

xyz @ ip: ~ / formsProject_SVN $ svn a résolu formsProj / templates / search

État conflictuel résolu de 'formsProj / templates / search'

Mettez à jour votre projet

xyz @ ip: ~ / formsProject_SVN $ svn mise à jour

Mise à jour de '.':

Sélectionnez: (mc) conservez les mouvements locaux affectés, (r) marque résolue (casse les mouvements), (p) reporter, (q) quittez la résolution, (h) aide: r (sélectionnez l'option "r" à résoudre)

État conflictuel résolu de 'formsProj / templates / search'

Résumé des conflits: Conflits d'arbre: 0 restant (et 1 déjà résolu)


0

J'ai eu le même problème sur Linux, mais je n'ai pas pu le résoudre avec la réponse acceptée. J'ai pu le résoudre en utilisant cdpour aller dans le bon dossier puis en exécutant:

svn remove --force filename  
syn resolve --accept=working filename  
svn up

C'est tout.


En deuxième ligne, ce n'est svnpas le cassyn
Diego Romero Rodriguez
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.