Question

Je tire mes cheveux sur celui-ci.

J'ai un site qui est une version contrôlée en utilisant Subversion. J'utilise Aptana (éclipse, subclipse) pour faire le svn. Je suis arrivée et de départ des fichiers, la mise à jour, etc et tout va bien. Cependant, le système que nous avons construit a été d'ajouter ses propres fichiers et dossiers.

Lorsque je tente de commettre ces derniers, il me dit n'est pas une <path> copie de travail. Si je tente de faire un nettoyage puis il donne la même erreur. Je trouve que je peux ajouter manuellement chaque fichier au contrôle de version, mais cela jette la même erreur. Faire une mise à jour ne permet pas, rafraîchissant l'espace de travail ne fait rien non plus. Nettoyage semble mourir après l'erreur et le répertoire est verrouillé.

Je sais que vous êtes censé ajouter des fichiers à l'aide de SVN, mais comment diable travaillez-vous avec les fichiers générés? Comment puis-je contourner cette erreur « est pas un <folder> répertoire copie de travail »? Comment puis-je obtenir Subversion simplement regarder les fichiers et les ajouter à son répertoire?

Était-ce utile?

La solution

Si vous voulez que les fichiers générés à ajouter à SVN, utilisez pour ajouter récursive svn add eux - cela fera en sorte que tous les répertoires font partie de la copie de travail, et tous les fichiers et répertoires sont ajoutés à SVN, et la volonté être commis dans le cadre de la prochaine svn commit.

Cependant, les fichiers souvent générés et les dossiers ne doivent pas être ajoutés à SVN, car ils sont générés de les fichiers source dans le cadre d'une construction. Dans ce cas, vous devez marquer le svn: ignorer de sorte qu'ils ne font pas partie de la copie de travail.

Autres conseils

Nous avons eu ce problème aujourd'hui, quand j'ai essayé d'ajouter un dossier « A » dans lequel je n'ai pas eu l'autorisation d'écriture (il n'a pas pu créer le A / dossier svn).

Running svn status m'a donné un "~" à côté de dossier A. Exécution de nettoyage svn dit que parent d'un a été verrouillé.

Ce qui a fini de travail était:

cp -r A A~    # backup, since A was not in the repo
rm -rf A      # removed locked directory
svn rm A      # remove A from pending commit
mv ~A A       # restore backup
svn add A     # re-add to pending commit
svn cleanup   # (had to cleanup several parent folders higher as well)

pas une erreur de copie de travail signifie que le dossier en cours n'a pas été correctement initialisé par SVN .

Pour corriger l'erreur, renommez le dossier en cours, puis sur obtenir une copie de travail appropriée du projet de SVN en faisant une Commander le projet.

Le départ va alors créer une copie de travail correctement configuré de ce projet.

Je viens rencontrais l'erreur « et non une copie de travail » dans mon, ahem, copie de travail. Ce fut un projet JDeveloper et il est apparu que la mise à niveau de JDeveloper (11.1.1.2.0) que je viens d'installer incorporé une version ultérieure de SVNKit que celui que j'utilise pour l'accès SVN ligne de commande (jsvn). Alors JDeveloper avait discrètement mis à jour le format des fichiers svn, ce qui signifie que le client de ligne de commande ne pouvait pas les comprendre. Le tilt quand jsvn plaint d'un fichier manquant « svn / format » dans le répertoire de niveau supérieur de mon projet. J'ai trouvé des tas de ces sous-dossiers, tous à la recherche identiques et ne contenant que le chiffre « 9 ». Donc, je copiais un dans le dossier de niveau supérieur et jsvn finalement donné un message approprié: « svn: Ce client est trop vieux pour travailler avec la copie de travail, s'il vous plaît obtenir un client Subversion plus récente. ». Une fois que je l'avais identifié (via Google) et installé le niveau SVNKit client compatible, la nouvelle amélioration jsvn a pu reconnaître que ma copie de travail est en fait une copie de travail. Morale de l'histoire:. Si vous obtenez cette erreur et que vous utilisez différents clients SVN sur la même machine, le problème peut être qu'ils ont obtenu désynchronisés

Ran dans ce maintenant en utilisant TortoiseSVN nettoyer certains répertoires morts. J'ai fait une copie de sauvegarde des fichiers, puis utilisé le navigateur représentant pour supprimer le répertoire défectueux (ce qui était un fichu de toute façon). Ensuite, le nettoyage du projet a travaillé et je peux continuer maintenant aller avec mes fichiers actuels.

S'il vous plaît essayer de savoir où est le problème. Est-ce le fichier .svn manquant ou autre chose. Rappelez-vous le fichier .svn est créé lorsque vous avez terminé votre checkin. et contient le chemin du répertoire correspondant, les noms de code avec un numéro unique étiqueté pour eux. Accédez au chemin de base de votre projet que vous pensez est vérifiée parfaitement. Créer un nouveau package temporaire et a ajouté un exemple de code java dans cette voie. Ajouter à la version et essayer de commettre. Si vous obtenez une erreur indiquant que le dossier est verrouillé (tentative de verrouiller le dossier déjà verrouillé), puis allez dans le dossier .svn et renommer le fichier de verrouillage. Essayez à nouveau à checkin et commettre

Si cela fonctionne bien, alors vous êtes fait. Utilisez le même répertoire de base et checkin à nouveau votre code partir de ce répertoire à votre niveau de dossier après cleaing vers le haut.

« Pas une copie de travail » signifie que l'un des endroits où votre IDE essaye d'exécuter en est pas svn contrôlée par lui-même <=> (comme l'ajout de fichiers dans un sous-répertoire pas sous <=>). Je dirais que vérifier vos chemins dans l'IDE.

Parce que je fais toutes les tâches avec des outils visuels, je ne peux pas vous dire ce que les commandes doivent être exécutées.

Ceci est mon environnement, Windows XP. tortoiseSVN 1.6.7 avec Subversion 1.6.9, Eclipse 3.5 avec Subclipse 1.6.10. et le dépôt est géré avec le serveur SVN visuel sur les fenêtres.

  1. Dans le serveur visuel svn I supprimé le dossier qui a été créé par l'autre outil (ce qui était le problème, tout comme Keltia dit).
  2. Dans mon explorateur windows clic droit sur mon projet et avec les options de presse SVN de tortue mise à jour . Avec cette action, le dossier a été supprimé dans ma copie de travail.
  3. Commited tous mes changements.
  4. couru l'outil que créer le dossier (à nouveau).
  5. avec SVN de tortue Je marqué avec ajouter à ignorer la liste .

Hope this helps.

dans mon cas je me déplace lieu de l'espace de travail Eclipse à un autre problème est alors produite. Pour le projet de checkout I résolution de problèmes former le repo svn. Ensuite, dans le vieux projet nettoyer tous les fichiers svn. (Recherche svn et supprimer), puis-je copier le contenu du juste CheckedOut un de mes changements deviennent visibles et mon projet est à jour. Cette méthode peut être appliquée pour d'autres erreurs gênantes. L'espoir que quelqu'un aide

répertoire courant s'il vous plaît dans move un autre endroit, et exécuter la commande svn update, puis remplacez le répertoire avec
répertoire déplacé si l'utilisation tortoisteSVN, vous pouvez avant lancer la mise à jour svn, le nettoyage vous exécutez le répertoire racine

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top