2008-09-11 18 views
7

Un problème que je suis tombé sur un certain temps, je ne trouve une bonne solution pour ...Récupération d'un peu de dépôt subversion date de sauvegarde

Supposons que vous avez une copie de travail exportée de la subversion à la révision 7500, et le disque contenant les matrices du dépôt actuel. Vous disposez d'une sauvegarde du référentiel à, disons, la révision 7450. Il est facile de restaurer la sauvegarde du référentiel, mais toute tentative d'utiliser la copie de travail contre elle donne une erreur indiquant que la révision 7500 n'existe pas dans le référentiel. Quel est le meilleur moyen de vérifier une révision gigantesque pour amener le contenu du référentiel à la hauteur du contenu de la copie de travail et de ramener la copie de travail à un état fonctionnel? (Idéalement, je voudrais quelque chose de plus facile que d'avoir à consulter une toute nouvelle copie de travail, puis à copier tous les fichiers manuellement - je pense qu'au moment où les copies de travail étaient utilisées pour gérer les serveurs de configuration, Réessayez avec des copies de travail propres)

+0

On dirait que votre soumission a doublé, peut-être vouloir prendre une photo de celui-ci! – ConroyP

Répondre

6

Vous pouvez extraire une copie rev.7450 quelque part, puis exporter votre copie 7500 (pour supprimer les dossiers .svn). Faites glisser la copie exportée (qui est la dernière copie) sur la copie 7450. Tous les nouveaux fichiers devraient simplement écraser les anciens, en laissant les dossiers .svn identiques.

Subversion vous venez de faire prendre un tas de changements à 7450, et la prochaine checkin définira comme 7451.

5

Effectuez une nouvelle extraction dans un dossier différent, puis utilisez un programme diff pour créer un patch. appliquer le correctif à votre nouvelle copie de travail.

1

Si vous êtes positif, vous avez la dernière version dans votre répertoire, faites ceci:

  1. Supprimer l'élément du référentiel
  2. Supprimer les références SVN de votre copie
  3. Vérifiez votre code en tant que nouvelle copie.
  4. Consultez le code que vous venez de vérifier dans
1

Vous pouvez remplir les numéros de révision manquants en chargeant dans un fichier de vidage avec un tas de révisions vides. Il y a des réponses discutant comment faire ceci au How can I change the revision number of a repository. Chargez toutes les révisions sauf une, de cette façon, vous pouvez simplement enregistrer tous vos changements dans une dernière révision géante.

Questions connexes