2009-11-24 5 views
3

Nous avions un fichier OLD_FILE avec une très longue histoire ~ 100 révisions.Est-il possible de coller l'histoire dans SVN?

Ensuite, ce fichier a été supprimé du référentiel. Et le nouveau fichier NEW_FILE avec le contenu de OLD_FILE a été créé. Ne me demandez pas - pourquoi le fichier n'a pas été simplement renommé;)

Puis NEW_FILE a été modifié 5 fois. Puis NEW_FILE a été renommé OLD_FILE en utilisant svn.

Maintenant, si nous essayons de voir l'historique de OLD_FILE - nous voyons seulement les 5 dernières révisions liées à NEW_FILE. Mais nous ne voyons pas beaucoup de révisions depuis l'histoire de OLD_FILE.

Est-il possible de réparer le référentiel afin de voir toutes les révisions à la fois pour OLD_FILE (~ 100 révisions) et NEW_FILE (5 révisions)? Je voudrais voir toutes ces révisions en utilisant la commande svn lof -q old_file

BTW Quand je tente d'appeler "Afficher le journal" de TortoiseSVN Je peux voir boîte de dialogue suivante:


Go offline?

Un problème est survenu lors de la connexion du serveur. Voulez-vous afficher les données mises en cache à la place?

Veuillez noter que les données mises en cache peuvent être périmées, incomplètes ou même trompeuses en raison d'un historique incomplet.

Hors ligne pour maintenant. En mode hors connexion permanent. Ne pas se déconnecter


Ensuite, je peux voir les 100 révisions pour le premier fichier OLD_FILE.

Qu'est-ce que cela signifie?

Répondre

2

La réponse courte est non.

Mais si les dates, numberss de révision et de l'ordre par rapport à d'autres changements des changements de new_file ne sont pas significatifs, vous pouvez:

Restaurez la vieille histoire de révision:

svn rm OLD_FILE 
svn copy -r when_old_was_gone OLD_FILE OLD_FILE 

Remplissez la nouvelle histoire de fichier avec svn diff de tous les changements à NEW_FILE, apply the patch et commit. Vous devez diff, patch, commettre pour chaque changement séparément.Une autre solution consiste à récupérer le journal pour toutes les révisions avec tortue svn et filtrer par le chemin. Tous les changements du même chemin seront sélectionnés.

1

Puisque Subversion ne sait pas que NEW_FILE et OLD_FILE sont liés, la réponse à votre question est non; il n'affichera pas l'historique consolidé souhaité. Mais vous pouvez toujours accéder aux ~ 100 anciennes révisions si vous fournissez un peg revision approprié.

Par exemple:

svn log http://my.repos.com/path/to/[email protected]

où 42 est une révision avant la OLD_FILE a été supprimé d'origine.

Questions connexes