2010-05-05 7 views
1

Est-ce que quelqu'un a rencontré quelque chose comme ça?Problème avec la commande de copie svn

Je m'attendais à ce que file.txt soit dans le dossier "testbranch/src /" après l'exécution de la commande écrite. Mais je reçois l'entrée à "testbranch/src" pour être un type de fichier plutôt que le type de répertoire! Dans le navigateur Web, si je regarde sous le dossier src de testbranch, il montre le contenu du fichier file.text.

svn copie « https://repos/svn/myrepo/trunk/src/file.txt » « https://repos/svn/myrepo/branches/testbranch/src/ » -m « Test »

Répondre

0

Si le répertoire de sortie n'existait pas avant d'exécuter la commande, c'est exactement ce que vous obtenez. Tout comme vous le feriez avec la commande simple 'cp' sur Linux. Vous devez d'abord faire un svn mkdir du répertoire src du côté de la sortie.

+0

Merci bmargulies. Cela fonctionne en utilisant svn mkdir mais mon exigence est de créer les dossiers parents s'il n'est pas présent. L'utilisation de l'option --parent avec la commande svn copy n'a pas aidé non plus. –

+0

Est-ce que --parents ne fonctionne pas si vous mettez le chemin complet sur la sortie, pas seulement le nom du fichier? Je ne l'ai jamais essayé. – bmargulies

+0

Je donne en effet le nom complet du chemin, toujours utiliser le chemin absolu. –

7

Si vous utilisez SVN 1.6.X, vous pouvez simplement le faire comme suit.

svn copy --parents "https://repos/svn/myrepo/trunk/src/file.txt" "https://repos/svn/myrepo/branches/testbranch/src/" -m "Testing" 

Les --parents créeront des dossiers intermédiaires.

+0

Merci khmarbaise pour la réponse rapide. --parents ne fait aucune différence. Je reçois toujours le même type de sortie. –

+0

qu'est-ce que svn log -v https: // repos/svn/myrepo/branches/testbranch/src imprimer? Il semble que vous avez créé src en tant que fichier au lieu d'un dossier. Vous devez d'abord le supprimer et refaire l'opération de copie svn cp --parent URL/fichier.txt URL/testbranch/src/fichier.txt .. une seconde fois. – khmarbaise

+0

Oui, il a créé le dossier src en tant que fichier lorsque je n'ai pas donné l'option -parents. J'ai aussi fait la même chose que tu as mentionné, efface d'abord puis copie, mais ça n'a pas marché !!! –

2

Pouvez-vous faire:

svn copie https://repos/svn/myrepo/trunk/src/file.txthttps://repos/svn/myrepo/branches/testbranch/src/file.txt -m « Test » --parents

(à savoir pourquoi ne pas utiliser le nom du fichier dans le chemin de destination qui vous donnera le comportement que vous êtes à la recherche? pour)

+0

Non ça ne marche pas comme ça. Destination ne peut être qu'un répertoire et pas un fichier, sinon SVN essaie de rechercher l'emplacement testbranch/src/file.txt/file.txt et échoue ensuite. –

Questions connexes