Quand je fais un svn status .
, je reçois ceci:
! C auto-complete-config.elc
> local edit, incoming delete upon update
! + C auto-complete.elc
> local edit, incoming delete upon update
! + C popup.elc
> local edit, incoming delete upon update
! + C fuzzy.elc
> local edit, incoming delete upon update
fondamentalement, ces fichiers ne devraient pas être dans le référentiel. Un développeur les a supprimés. Ensuite, je pense que j'ai fait un svn rm ...
après coup par erreur (j'aurais dû le faire à la svn update .
place).
Alors maintenant, quand je le fais svn status .
, je reçois ces messages de conflit d'arbre.
J'ai trouvé le doc ici mais je ne sais pas comment le «fusionner» selon le doc.
Comment se débarrasser d'eux?
Je pense que ma copie de travail est synchronisée avec le référentiel. Je ne sais pas pourquoi ces messages s'affichent. Ces fichiers doivent être supprimés et sont supprimés pour autant que je sache partout. J'ai essayé svn update .
et svn revert .
je reçois toujours ce message quand je le fais svn status .
.
"local missing or deleted or moved away, incoming dir edit upon merge"
Réponses:
Version courte:
Si le conflit concerne des répertoires au lieu de fichiers, remplacez-les
touch
parmkdir
etrm
parrm -r
.Remarque: la même procédure fonctionne également pour la situation suivante:
Version longue:
Cela se produit lorsque vous modifiez un fichier alors que quelqu'un d'autre l'a supprimé et validé en premier. En tant que bon citoyen svn, vous effectuez une mise à jour avant un commit. Vous avez maintenant un conflit. En réalisant que la suppression du fichier est la bonne chose à faire, vous supprimez le fichier de votre copie de travail. Au lieu d'être contenu, svn se plaint maintenant que les fichiers locaux sont manquants et qu'il y a une mise à jour conflictuelle qui veut finalement voir les fichiers supprimés. Bon travail svn.
Ne devrait
svn resolve
pas fonctionner, pour une raison quelconque, vous pouvez effectuer les opérations suivantes:Situation initiale: les fichiers locaux sont manquants, la mise à jour est en conflit.
Recréez les fichiers en conflit:
Si le conflit concerne les répertoires, remplacez-le
touch
parmkdir
.Nouvelle situation: fichiers locaux à ajouter au référentiel (ouais, svn, quoi que vous disiez), mise à jour toujours conflictuelle.
Rétablir les fichiers dans l'état que svn les aime (cela signifie qu'ils ont été supprimés):
Nouvelle situation: les fichiers locaux ne sont pas connus de svn, la mise à jour n'est plus en conflit.
Maintenant, nous pouvons supprimer les fichiers:
Si le conflit concerne les répertoires, remplacez-le
rm
parrm -r
.svn ne se plaint plus:
Terminé.
la source
svn st | grep ! | cut -f 7 -d' ' | xargs touch
comme une doublure pour toucher tous les fichiers manquantsrm -r foo bar
(ourmdir foo bar
sous Windows ou si vous aimez Windows).Essayez de résoudre le conflit en utilisant
la source
Je viens de recevoir ce même problème et j'ai trouvé que
résolu le problème.
la résolution de svn n'a pas fonctionné pour moi:
la source
Si vous n'avez apporté aucune modification dans le répertoire en conflit, vous pouvez également
rm -rf conflicts_in_here/
et ensuitesvn up
. Cela a fonctionné pour moi au moins.la source
Vous pouvez forcer à rétablir votre répertoire local en svn.
la source
A + C path/to/dir
et> local dir edit, incoming dir delete or move upon update
Ainsi, vous pouvez simplement restaurer le fichier que vous avez supprimé, mais n'oubliez pas: si vous travaillez sur n'importe quel type de projet avec un fichier de projet défini (comme iOS), la restauration du fichier l'ajoutera à votre structure de dossiers système mais pas à la structure de votre fichier de projet. des étapes supplémentaires peuvent être nécessaires si vous êtes dans ce cas
la source
Ce problème se produit souvent lorsque nous essayons de fusionner les modifications d'une autre branche à partir d'un mauvais répertoire.
Ex:
Un conflit qui se jette sur son exécution est:
Et lorsque vous sélectionnez q pour quitter la résolution , vous obtenez le statut suivant:
ce qui signifie clairement que la fusion contient des modifications liées à
Branch1_SubDir
etBranch1_AnotherSubDir
, et ces dossiers ne peuvent pas être trouvés à l'intérieurBranch1_SubDir
(évidemment, un répertoire ne peut pas être à l'intérieur de lui-même).Comment éviter ce problème en premier lieu:
La solution la plus simple pour ce problème qui a fonctionné pour moi:
la source