Bien que quelque peu versé dans la VCS (régulier svn, git git-svn utilisateur) je n'arrive pas à envelopper ma tête autour de ce singulier SVN comportement.
Chaque fois que j'ai besoin de renommer un répertoire dans mon SVN copie de travail à partir d'un "propre" de l'état - je.e svn status
ne retourne rien et tous les autres modifications ont été commis - like (ce qui est ce que le svn doc indique):
svn mv foo bar
svn commit
SVN se plaint bruyamment:
Adding bar
Adding bar/toto
Deleting foo
svn: Commit failed (details follow):
svn: Item '/test/foo' is out of date
Comme vous le souhaitez:
svn update
Ce qui donne:
C foo
At revision 46.
Summary of conflicts:
Tree conflicts: 1
Il y a un arbre de conflit, alors qu'aucun tiers changement qui s'est passé. De toute évidence, la seule façon de sortir de cet arbre conflit mess est de manière générale (à partir du svn livre rouge):
svn resolve --accept working -R .
svn commit
De le renommer à distance sur le repo de mettre à jour la copie de travail semble assez braindead:
url=$(svn info | grep -e '^URL:' | sed 's/^URL: //') svn mv $url/foo $url/bar
svn update
Est-il sanctionné, plus simple façon de renommer un dossier que je suis absent? Quelle est la cause fondamentale de particulièrement surprenant arbre de conflit de l'état?