343 votes

Un seul fichier caisse de Subversion

« Il n’est pas possible d’extraire un fichier unique. Le niveau le plus fin d’extractions, que vous pouvez faire est au niveau du répertoire ».

Comment puis-je obtenir ce problème lorsque vous utilisez Subversion ?

Nous avons ce dossier dans Subversion où nous gardons toutes nos images. Je veux juste vérifier un fichier (image) de qui. Ce dossier est vraiment très importante et a des tonnes d’autres choses dont je n’ai besoin maintenant.

425voto

Steve Jessop Points 166970

La réponse simple est que vous svn exporter le fichier au lieu de le vérifier.

Mais qui pourrait ne pas être ce que vous voulez. Vous pourriez vouloir travailler sur le fichier et vérifier à nouveau, sans avoir à télécharger GO de courrier indésirable vous n'avez pas besoin.

Si vous avez subversion 1.5+, puis faire un sparse checkout:

svn checkout <url_of_big_dir> <target> --depth empty
cd <target>
svn up <file_you_want>

Pour les anciens svn, vous pouvez bénéficier des avantages suivants:

  • La caisse de l'annuaire à l'aide d'une révision de retour dans un passé lointain, quand il a été de moins de cochonneries que vous n'avez pas besoin.
  • Mettre à jour le fichier que vous voulez, pour créer un mélange de révision. Cela fonctionne même si le fichier n'existe pas dans la révision que vous avez extrait.
  • Le Profit!

Une alternative (par exemple, si le répertoire a trop de junk droit de la révision dans laquelle il a été créé), est de faire une URL->URL copie du fichier que vous voulez dans une nouvelle place dans le référentiel (dans les faits, ce travail est une branche du fichier). Découvrez ce répertoire et de faire vos modifications.

Je ne suis pas sûr de savoir si vous pouvez fusionner vos modifications de copier entièrement dans le référentiel sans une copie de travail de la cible - je n'ai jamais eu besoin. Si oui, alors le faire.

Si non, alors, malheureusement, vous devez trouver quelqu'un d'autre qui n'ont tout le répertoire d'archivage et de les amener à faire. Ou peut-être au moment où vous avez fait vos mods, le reste de la il aura fini de se télécharger...

118voto

Mnementh Points 19831

Essayez au lieu de , qui travaille pour les dossiers simples.

La raison de la limitation est que `` crée une copie de travail, qui contient des méta-informations sur référentiel, révision, attributs, etc.. Ces métadonnées sont stockées dans des sous-répertoires nommés « .svn ». Et des fichiers uniques n’ont pas sous-répertoires.

55voto

Milan Babuškov Points 20423

Utilisation ou .

Pour cela, vous n’avez pas besoin d’aller chercher le répertoire de travail, mais vous ne serez pas en mesure de commettre toutes les modifications apportées. Si vous devez apporter des modifications et elles s’engagent, vous avez besoin d’un répertoire de travail, mais il ne faut pas aller la chercher complètement. Commander la révision où le répertoire était encore/presque vide, puis utilisation « svn cat » pour extraire le fichier de la tête.

12voto

GEOCHET Points 13787

Si vous souhaitez afficher readme.txt dans votre dépôt, sans la vérifier:

$ svn cat http://svn.red-bean.com/repos/test/readme.txt
C'est un fichier README. Vous devriez lire c'.

Astuce: Si votre copie de travail est obsolète (ou si vous avez des modifications locales) et vous voulez voir la TÊTE de révision d'un fichier dans votre copie de travail, svn cat récupérera automatiquement la TÊTE révision lorsque vous lui donner un chemin d'accès:

$ cat toto.c
Ce fichier est dans mon local la copie de travail et des modifications qui Je l'ai fait.

$ svn cat foo.c
Dernière révision fraîche à partir du référentiel!

Source

9voto

Kaushik Gopal Points 1681

Un TortoiseSVN solution équivalente, de la accepté de répondre (je l'avais écrit dans un document interne de mon entreprise que nous sommes nouvellement adoption SVN) de la façon suivante. J'ai pensé qu'il serait utile de partager ici:

La vérification d'un seul et même fichier: La Subversion ne prend pas en charge la caisse d'un seul fichier, il ne supporte que la caisse des structures de répertoire. (Référence: http://subversion.tigris.org/faq.html#single-file-checkout). *C'est parce qu'à chaque répertoire qui est vérifié qu'une copie de travail, les métadonnées concernant les modifications/révisions de fichier est stocké en interne dossier caché (.svn/_svn). Ce n'est pas pris en charge actuellement (v1.6) pour les fichiers unique.*

Suppléant de la stratégie recommandée: Vous aurez à faire passer à la caisse répertoire partie qu'une seule fois, après que vous pouvez aller directement à la caisse et de vos fichiers uniques. Faire un sparse checkout du dossier parent et la structure de répertoire. Un sparse checkout est essentiellement de vérifier que la structure de dossier sans remplir les fichiers de contenu. Si vous commandez uniquement les structures de répertoire et n'a pas besoin de les extraire TOUS les fichiers que est la préoccupation. Référence: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-checkout.html

Étape 1: Passez à l'explorateur de dépôt

Étape 2: cliquez-Droit sur le dossier parent dans le référentiel contenant tous les fichiers que vous souhaitez travailler sur et Sélectionner la Caisse.

Étape 3: Dans la nouvelle fenêtre qui s'ouvre, s'assurer que la caisse des points de répertoire à l'emplacement approprié sur votre PC local. Il y aura également un menu déroulant marqué "profondeur d'extraction". Sélectionnez "Seul cet élément" ou "les enfants Immédiats, y compris les dossiers" en fonction de vos besoins. La deuxième option est recommandée, si vous souhaitez travailler sur des dossiers imbriqués, vous pouvez passer directement à la prochaine fois, sinon vous devrez suivre l'ensemble de cette procédure pour les dossiers imbriqués.

Étape 4: Le dossier parent(s) doit maintenant être disponible dans votre choix local dossier est maintenant contrôlé par SVN (un dossier caché ".svn" ou "_svn" devrait être présent). Dans le référentiel maintenant, cliquez-droit sur le seul fichier que vous souhaitez avoir vérifié seul et sélectionnez l'option "mettre à Jour à la révision". Le fichier peut maintenant être travaillé et vérifié de nouveau dans le référentiel.

J'espère que cette aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X