301 votes

Le SVN reste en conflit ?

Comment puis-je sortir ce répertoire du conflit ? Je me fiche de savoir si c'est résolu en utilisant "leur" ou "mon" ou autre...

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

96 votes

La réponse est : [svn resolved filename] faire ceci plutôt que la solution acceptée.

1 votes

@TravisSchneeberger la solution acceptée est bien.

0 votes

svn resolved *filename* ne résout pas le problème pour moi.

485voto

Roalt Points 3349

Donnez la commande suivante :

svn resolved <filename or directory that gives trouble>

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

37 votes

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

2 votes

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

0 votes

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

275voto

Darrell Duane Points 2652

Ok, voici comment le réparer :

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

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

0 votes

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

4 votes

Avec svn 1.7.4, svn help resolved indique qu'il "a été déprécié en faveur de l'exécution de 'svn resolve --accept working'".

18voto

Kenneth Purtell Points 81
  1. résolution svn
  2. nettoyage svn
  3. mise à jour svn

ces trois commandes CLI svn dans cette séquence, tout en étant cd-ed dans le bon répertoire, ont fonctionné pour moi.

0 votes

@Elad Tabak : Dans mon cas, j'ai dû le faire dans le répertoire parent du fichier qui me posait problème, c'est peut-être ce que vous avez rencontré.

11voto

Peter Wippermann Points 968

Si vous utilisez l'IDE Eclipse et que vous rencontrez cette erreur lors de la validation, voici une solution in-tool 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 le fichier comme étant "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 avant, donc j'ai pris la première option, qui prendra l'état actuel de votre copie locale comme "solution résolue". Cliquez sur "OK" et c'est tout.

Le symbole de conflit devrait avoir disparu et vous devriez être en mesure de vous engager à nouveau.

2 votes

De même, en cas de conflit de répertoire, vous pouvez faire "Team->Show Tree Conflicts" et ensuite passer en revue tous ces conflits et les marquer comme résolus (dans une fenêtre séparée "SVN Tree Conflicts").

7voto

Ken Liu Points 7779

Supprimez le répertoire, puis effectuez une mise à jour svn à partir du répertoire parent.

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