2009-12-23 5 views
1

J'ai lu la question connexe avant de soumettre cette question, mais n'a pas été en mesure de trouver la question exacte qui a le même problème que le mien. J'essaie de configurer une certaine automatisation sur une boîte de Windows. J'ai une cible à mettre à jour et j'ai utilisé eclipse comme éditeur de développement java. Boîte de Windows ont svn client (TortoiseSVN) installé et je utilisé que pour obtenir une nouvelle caisse de mon dépôt une fois le projet a été extrait, j'ai exécuté la cible fourmi. Le résultat suivait.SVN-ANT Erreur - "n'est pas une copie de travail"

 
    C:\svncheckout\Automation>ant update-svn 
    Buildfile: build.xml 

    update-svn: 
      [svn] started ... 
      [svn] svn: 'C:\svncheckout\Automation' is not a working copy 
      [svn] svn: Cannot read from 'C:\svncheckout\Automation\.svn\format': C:\svncheck 
    out\Automation\.svn\format (The system cannot find the file specified) 
      [svn] svn: 'C:\svncheckout\Automation' is not a working copy 
      [svn] svn: Cannot read from 'C:\svncheckout\Automation\.svn\format': C:\svncheck 
    out\Automation\.svn\format (The system cannot find the file specified) 
      [svn] failed ! 

    BUILD FAILED 
    C:\svncheckout\Automation\build.xml:198: Cannot update dir C:\svncheckout\Automation 

Voici ma cible fourmi, et après avoir lu certains forums, je trouve que son mieux dire explicitement la cible à courir avec svnkit j'ai supprimé le nom d'utilisateur et mot de passe réel.

<!-- target to update working copy --> 
<target name="update-svn"> 
    <svn svnkit="true" javahl="false" username="guest" password="guest"> 
     <update dir= "${checkout}/Automation" revision="HEAD"/> 
    </svn> 
</target> 

Merci d'avance.

Répondre

1

Le message d'erreur dit tout, vraiment. Votre C:\svncheckout\Automation n'est pas une copie de travail. Pour vérifier cela, vous pouvez vérifier si le C:\svncheckout\Automation\.svn\format existe (et ce n'est probablement pas le cas).

Quel dossier avez-vous emprunté? Est-il possible que vous ayez effectué une opération export au lieu de checkout? Ou que le dossier .svn a été supprimé en quelque sorte?

Se pourrait-il que vous ayez emprunté dans un dossier différent (pas C:\svncheckout\Automation)? Le dossier Automation n'existe pas dans le référentiel? (Vous pouvez vérifier avec Repo-Browser de TortoiseSVN.)

1

J'ai eu le même problème. Dans mon cas, il pourrait être résolu en passant simplement à javahl.

<svn svnkit="false" javahl="true"> 
    <update dir="${source.dir}" revision="HEAD" /> 
</svn>   

Edit: Je pense que le problème général est ancré dans l'espace de travail en cours de création avec une version plus récente de la subversion par rapport à la bibliothèque utilisée dans fourmi, dans votre cas SVNKit. Je suppose que sur mon système javahl est présent dans une version assez récente, alors que SVNKit n'est pas - de sorte que le passage à javahl a résolu mon problème. Vous pouvez probablement résoudre votre problème en mettant à jour les bibliothèques SVNKit utilisées par votre skript ant. Ce post at tigris pointe également dans cette direction.

0

La réponse précédente indique pour passer à javahl mais il a créé une tonne de problème donc dans mon expérience la meilleure solution est d'éteindre javahl.

enter code here 

<!-- target to update working copy --> 
<target name="update-svn"> 
    <svn svnkit="true" javahl="false" username="username" password="password"> 
     <cleanup dir="${checkout}/myframework"/> 
     <update dir= "${checkout}/myframework" revision="HEAD"/> 
    </svn> 
</target> 

J'ai ajouté le nettoyage juste svn nettoyage parce que mon script ant est en cours d'exécution pour prendre processus d'automatisation des soins dans hudson. Donc, pour éviter tout processus de nettoyage, j'ai décidé d'ajouter cela.

2

Il peut y avoir un problème de compatibilité entre svn et svnant. Par exemple

svn --version svn, la version 1.6.15 (r1038135) compilé 24 novembre 2010, 15:10:19

TortoiseSVN 1.6.12, Construire 20536-32 Bit, 2010/11/24 20:59:01 Subversion 1.6.15, 1.3.8 avril-utils 1.3.9 avril néon 0.29.5 OpenSSL 0.9.8p 16 novembre 2010 zlib 1.2.3

apache-ant 1.7.0 \ bin \ ant -version Apache Ant Version 1.7.0 compilé le 13 Décembre 2006

combiné avec svnant-1.2.1.zip il va générer la erreur avec "copie de travail" et fichier .svn/format manquant Si svnant-1.3.1.zip le problème il n'y a pas de problème.

+0

upvote. Je soupçonne fortement que c'est le (mon) problème. SVN 1.7 est passé d'un dossier '.svn' à chaque sous-dossier à un seul' .svn' à la racine de la caisse. Mon script NAnt s'exécute correctement sur notre serveur de build (Jenkins) où les "sous-dossiers racine" sont séparés. Sur ma machine locale, j'ai un contrôle unique à notre "root" et le script échoue. – radarbob

Questions connexes