2009-10-31 5 views
1

Lorsque je fais svn log <path>, il va me montrer l'historique de ce chemin, jusqu'au point où il a été copié à partir d'un autre chemin. À ce stade, il va commencer à me montrer l'histoire du chemin d'origine.Subversion: journal d'un chemin, sans tenir compte des copies

Existe-t-il un moyen d'obtenir l'historique de tous les changements d'un chemin particulier, qu'il ait été copié ailleurs? Je sais que vous pouvez passer --stop-on-copy, mais cela coupe tout l'histoire avant la copie, ce qui est exactement ce que je veux voir.

La seule solution de contournement que j'ai trouvée est d'abord svn log <path>, recherchez la révision où il a été copié, puis svn log <path>@<revision - 2> (en supposant que le fichier d'origine a été supprimé immédiatement avant la copie). Puis répétez pour les copies suivantes. Mais il doit y avoir un moyen plus simple.

Ce serait utile dans plusieurs situations:

  • Parfois, la copie d'un fichier, pas parce que vous voulez partager son histoire, mais juste parce que vous voulez son contenu. Si vous le copiez sur un fichier existant, vous pouvez toujours conserver l'historique du fichier existant.

  • Lorsque vous effectuez une fusion à partir d'une branche à l'aide de --reintegrate, vous avez have to delete la branche, car elle ne fonctionnera plus lors des fusions ultérieures. Si vous souhaitez réutiliser le même nom de branche, vous devez en créer une nouvelle copie. Mais vous voudrez peut-être voir ce qu'il y avait dans la branche avant qu'elle ne soit recopiée.

Si ce n'est pas possible, n'est-ce pas une omission assez importante?

Répondre

0

This question est à la recherche de données similaires je pense.

Il n'existe pas de méthode Subversion native pour ce faire, car Subversion traite les fichiers, et non les chemins, comme des éléments à surveiller. La méthode que vous décrivez dans votre question d'obtenir le journal d'un fichier, d'arrêter la copie, puis d'utiliser une révision de peg avant la copie, etc. semble être le seul moyen de suivre l'historique de ce chemin. La personne dans la question liée faisait quelque chose comme ça via un script. Re: votre puce, si vous voulez insérer le contenu d'un fichier dans un autre fichier tout en conservant l'historique du fichier de destination, vous devez le copier et le coller.

Questions connexes