SVN comment résoudre “local ajouter, à l'arrivée de l'ajouter lors de la mise à jour” à la une *dossier*?

Voici mon scénario:

Supposons que nous avons un repo SVN avec le contenu suivant:
mondossier
myfolder\file.txt

Maintenant j'ai créer deux extractions de ce repo, co1 et co2.

Dans co1 nous modifier file.txt.
Dans de co2 nous:

  • svn delete myfolder
  • svn commit
  • Créer un nouveau dossier nommé myfolder
  • svn add myfolder
  • svn commit

Maintenant, si je tente une mise à jour dans co1-je obtenir un arbre de conflit:

A  +  C myfolder >   local edit, incoming delete upon update
M  +    myfolder\file.txt

Je veux garder le dossier et le fichier modifié, j'ai donc résoudre l'arbre de conflit:

svn resolve --accept working folder

Maintenant, si je tente de la commettre, j'obtiens un "svn: le Répertoire '/mondossier' est pas à jour". Si j'essaie de résoudre ce à l'aide de la commande svn up mondossier, je reçois un arbre conflit de nouveau:

A  +  C folder >   local add, incoming add upon update
M  +    myfolder\file.txt

Ok, donc nous essayons svn resolve --accepter le dossier de travail à nouveau. Mais nous ne pouvons toujours pas commettre, nous obtenons le même message que "svn: le Répertoire '/mondossier' est pas à jour", si nous ne svn up mondossier, nous obtenons le droit de retour pour le dernier arbre conflit.

Quelle est la bonne procédure pour résoudre ce type de conflit (quand nous voulons garder mondossier et ses modifications)?

EDIT: Windows cmd ligne de script pour illustrer:

rmdir /S /Q C:\svntest 
mkdir C:\svntest

cd C:\svntest

svnadmin create repo

svn co file:///c:/svntest/repo co1
svn co file:///c:/svntest/repo co2

cd co1
mkdir folder
echo content > folder\file.txt
svn add folder
svn commit folder -m ""

cd C:\svntest\co2
svn up

cd C:\svntest\co1
svn del folder
svn commit -m ""
mkdir folder
svn add folder
svn commit -m ""

cd C:\svntest\co2
echo changed_content > folder\file.txt
svn up
svn resolve --accept working folder
svn commit -m ""

svn up folder
svn resolve --accept working folder
svn commit -m ""

Et voici la sortie de l'exécution de ce script (note de la validation des échecs à la fin):

C:\>rmdir /S /Q C:\svntest  

C:\>mkdir C:\svntest 

C:\>cd C:\svntest 

C:\svntest>svnadmin create repo 

C:\svntest>svn co file:///c:/svntest/repo co1 
Checked out revision 0.

C:\svntest>svn co file:///c:/svntest/repo co2 
Checked out revision 0.

C:\svntest>cd co1 

C:\svntest\co1>mkdir folder 

C:\svntest\co1>echo content  1>folder\file.txt 

C:\svntest\co1>svn add folder 
A         folder
A         folder\file.txt

C:\svntest\co1>svn commit folder -m "" 
Adding         folder
Adding         folder\file.txt
Transmitting file data .
Committed revision 1.

C:\svntest\co1>cd C:\svntest\co2 

C:\svntest\co2>svn up 
A    folder
A    folder\file.txt
Updated to revision 1.

C:\svntest\co2>cd C:\svntest\co1 

C:\svntest\co1>svn del folder 
D         folder\file.txt
D         folder

C:\svntest\co1>svn commit -m "" 
Deleting       folder

Committed revision 2.

C:\svntest\co1>mkdir folder 

C:\svntest\co1>svn add folder 
A         folder

C:\svntest\co1>svn commit -m "" 
Adding         folder

Committed revision 3.

C:\svntest\co1>cd C:\svntest\co2 

C:\svntest\co2>echo changed_content  1>folder\file.txt 

C:\svntest\co2>svn up 
C folder
At revision 3.
Summary of conflicts:
  Tree conflicts: 1

C:\svntest\co2>svn resolve --accept working folder 
Resolved conflicted state of 'folder'

C:\svntest\co2>svn commit -m "" 
Adding         folder
svn: Commit failed (details follow):
svn: Directory '/folder' is out of date

C:\svntest\co2>svn up folder 
   C folder
At revision 3.
Summary of conflicts:
  Tree conflicts: 1

C:\svntest\co2>svn resolve --accept working folder 
Resolved conflicted state of 'folder'

C:\svntest\co2>svn commit -m "" 
Adding         folder
svn: Commit failed (details follow):
svn: Directory '/folder' is out of date
  • J'ai mis à jour ma réponse, pouvez-vous me dire quelle est la version de svn vous utilisez ?
  • Désolé pour le long temps de réponse, j'ai dû obtenir cette non compte fusionné avec mon compte réel. Voir ma réponse dans les commentaires de votre réponse.
InformationsquelleAutor Ziphnor | 2010-10-21