2010-07-21 7 views
1

J'ai un gros projet avec des branches. Tout le développement est concentré dans la branche. Je veux obtenir l'état de cette branche à il y a quelque temps, mais ne peut pasCVS: Obtenir l'état d'une branche dans une certaine date

cvs up -r branch_name -D 2010-05-01 

me donne (dans le Makefile d'état cvs) l'étiquette collante, mais la dernière version du fichier, pas à 2010-05 -01

cvs up -D 2010-05-01 -r branch_name 

ne tient pas compte d'une étiquette et mis à jour à cette date de la tête

cvs up -r branch_name:2010-05-01 

ne, il ne tient pas compte fonctionne pas trop jour et mises à jour de l'état actuel de la branche.

+0

Je me souviens qu'il y avait une syntaxe particulière impliquant mais je côlons ne le trouve pas dans la documentation en ce moment ... –

+1

hmm, c'est seulement documenté pour l'option '-j' (c.-à-d. fusionner) mais je pense que ça pourrait marcher aussi pour' -r': 'cvs up -r branch_name: 2010-05-01' (non testé) –

+0

Oliver Giesen, s'il vous plaît, ajoutez ceci comme réponse – osgx

Répondre

2

cvs update -PdC -r BRANCH-NAME-HERE -D "Saturday, May 1, 2010 0:00:00 AM UTC"

Si vous connaissez le temps, ajouter que ...

+0

Quelle est la signification des options "P", "d" et "C"? – osgx

+1

* P = supprimer les répertoires vides * d = s'il y a des dirs dans le repo qui ne sont pas dans l'espace de travail, créez-les Je ne sais pas ce que « C » est, mais ont toujours utilisé pour cette ... – Sagar

+0

Ce ne semble pas donner toute la branche à ce moment-là. Il donne seulement les fichiers qui ont changé depuis la branche d'origine. Donc, je trouve que les fichiers sont manquants lorsque je vérifie par date. Y a-t-il un moyen d'obtenir toute la succursale? –

0

Cela devrait faire l'affaire:

cvs up -r branch_name:2010-05-01 

La syntaxe du côlon n'est documenté pour l'option -j mais probablement œuvres pour -r, aussi.

+0

est-il étrange, peut-être utilise-t-il un format différent de la date? Il met à jour vers une version plus ancienne, mais pas de version au 2010-05-01. – osgx

+0

non cela ne fonctionne pas. – osgx

+0

Hmm, il y a un appel 'parse_tagdate' dans l'option' -r' d'analyse - [cvs/src/update.c: 205] (https://sources.debian.net/src/cvs/2:1.12.13%2Breal -15/src/update.c/# L205) ('case 'r': parse_tagdate (& tag, & date, optarg);') qui doit analyser la date: [cvs/src/main.c: 1146] (http://sources.debian.net/src/cvs/2:1.12.13%2Breal-15/src/main.c/?hl=1168#L1146) "Analyser une chaîne de la forme TAG [: DATE], où TAG pourrait être la chaîne vide. " il analyse la date avec le même 'Make_Date' /' get_date' que dans l'option '-D'. – osgx

Questions connexes