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
mpen
la source
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)

Roalt
la source
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

Darrell Duane
la source
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>"
nine9five
la source
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.

PiggyMacPigPig
la source
@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.

Peter Wippermann
la source
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 "
Bala Varadarajan
la source
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

PipoTells
la source
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
Ujjwal Roy
la source
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é.

bekce
la source
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"
Frank-Rene Schäfer
la source
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)

Raghu
la source
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.

Aisuko
la source
En deuxième ligne, ce n'est svnpas le cassyn
Diego Romero Rodriguez