web-dev-qa-db-fra.com

Problème SVN (Subversion) "L'ajout d'un fichier est prévu, mais il en manque" - Utilisation des versions

J'utilise des versions pour SVN.

J'essaie de m'engager et de recevoir ce message:

La validation a échoué (les détails suivent): '/Users/mike/Sites/mysite.com/astss-cvsdude/Trunk/cart/flashfile.swf' est prévu pour addition, mais est manquant

J'imagine que c'est parce que j'avais ajouté des fichiers au référentiel, puis que je les avais supprimés via le système de fichiers.

J'aimerais simplement qu'il prenne note de ma modification et l'applique à la prise en pension.

Comment puis-je contourner cela?

86
Mike

Je ne suis pas sûr de ce que vous essayez de faire: si vous avez ajouté le fichier via

svn add myfile

vous avez seulement dit à svn de mettre ce fichier dans votre référentiel lors de votre prochain commit. Il n'y a pas de changement dans le référentiel avant de taper un

svn commit

Si vous supprimez le fichier avant la validation, svn l'a dans ses enregistrements (car vous l'avez ajouté) mais ne peut pas l'envoyer au référentiel car le fichier n'existe plus.

Donc, soit vous voulez enregistrer le fichier dans le référentiel, puis le supprimer de votre copie de travail: Dans ce cas, essayez de récupérer votre fichier (dans la corbeille?), Effectuez la validation puis supprimez le fichier via

svn delete myfile
svn commit

Si vous voulez annuler la add et simplement jeter le fichier, vous pouvez

svn revert myfile

qui indique à svn (dans ce cas) d'annuler l'opération add-Operation.

MODIFIER

Désolé, je ne savais pas que vous utilisiez le client d'interface graphique "Versions" pour Max OSX. Donc, soit essayez un retour sur le répertoire contenant en utilisant l’interface graphique, soit sautez dans l’eau froide et lancez votre commande cachée Mac Shell :-) (elle s'appelle "Terminal" dans le système d'exploitation allemand OSX, aucune idée de la manière de l'afficher en anglais version...)

113
MartinStettner

J'ai eu le même problème avec les versions affichant le même message. J'ai simplement cliqué avec le bouton droit sur les fichiers incriminés et sélectionné "Rétablir ..." dans le menu contextuel et tout s'est bien passé.

Fondamentalement, Versions (en réalité Subversion) pense que vous souhaitez toujours ajouter le fichier, mais ne le trouve pas car vous l'avez supprimé du système de fichiers. L'option Revert dit à Subversion de ne plus l'ajouter.

22
mmopy

Ajouter un fichier, puis le supprimer est le type d'opération considéré comme une erreur - et SVN vous le dit. Vous lui avez dit d'attendre des données de fichier et de ne pas les fournir lorsque vous vous engagez, les voyants rouges clignotent et les sirènes s'éteignent!

La solution consiste à annuler votre ajout, sinon validez le fichier, puis utilisez «svn rm» pour le supprimer du système de fichiers et du référentiel.

10
gbjbaanb

Évitez d’utiliser Xcode pour renommer des fichiers dans une référence de dossier. Si vous renommez un fichier en utilisant Xcode, il sera marqué pour validation. Si vous le supprimez plus tard avant la validation, vous obtiendrez cette erreur.

2
Totoro

Ceci résolu mon problème similaire. Je l’ai utilisée pour annuler les modifications, puis j’ai tout ajouté et validé les modifications dans le terminal avec

svn add folder_path/*
svn commit -m "message"
2
jose

Je viens de supprimer le fichier de VS, puis de "Repository Explorer", je l'ai copié sur la copie de travail.

0
Behzad Sedighzadeh