hgcp est un outil qui fournit copie croisée reposititory Mercurial et déplacez fonctions.
commentaires de développeurs
Lorsque refactoring paquets, je trouve parfois le besoin de copier des fichiers d'un dépôt Mercurial à un autre tout en préservant leur histoire. Alors que ce ne est pas difficile à faire une fois que vous savez comment, ce ne est pas une opération triviale. Donc, je ai créé hgcp. Copie de fichiers de la source vers dest-repo-repo devient très facile. Voici quelques exemples:
- Hgcp source repo / fonctionnalités / excentrique-feature.txt dest-repo / (Ce copies source repo / fonctionnalités / excentrique-feature.txt dans dest-repo / fonctionnalités / excentrique-feature.txt)
- Hgcp -x dispose source repo / fonctionnalités / excentrique-feature.txt dest-repo / (Ce supprime l'caractéristiques sous-chemin, la copie source repo / fonctionnalités / excentrique-feature.txt dans dest-repo / excentrique-feature.txt )
- Hgcp -x dispose source repo / fonctionnalités / excentrique-feature.txt dest-repo / plugins (copies source repo / fonctionnalités / excentrique-feature.txt dans dest-repo / plugins / excentrique-feature.txt)
Il ya aussi une commande qui se déplace hgmv fichiers, au lieu de simplement les copier. Il fonctionne exactement comme contraire la commande hgcp.
Installation
hgcp peut être installé en utilisant easy_install: easy_install hgcp
Remarque à toute personne qui ne aime pas cette fonctionnalité
En bref: ce est très bien avec moi. Ne l'utilisez pas.
Vous ne avez pas besoin de chercher loin pour trouver de nombreuses demandes de la façon de faire une copie croisée référentiel histoire préserver. Malheureusement, la plupart des réponses que je ai vus sont plutôt inutile. Voici quelques réponses que je ai vu:
- Ce ne est pas un flux de travail pris en charge.
- Si vous avez besoin, vous n'êtes pas la planification de votre mise en page référentiel très bien.
- Vous ne devriez pas avoir à le faire très souvent,
- La copie de fichier Croix-référentiel ne est pas une opération bien définie.
- Il suffit de copier le fichier sans histoire, et de mettre une note dans le changelog.
- Ad nauseam
Le problème fondamental de l'ensemble de ces réponses est la suivante: Les gens ont besoin de copier ou déplacer des fichiers entre les dépôts. Subversion nous a encouragés à mettre tous nos projets dans le même référentiel, donc des copies de fichiers entre projets étaient trivial. DVCS Mercurial comme nous encouragent à mettre chaque projet dans un dépôt séparé, mais ne parviennent pas à fournir un moyen facile à concevoir de projets. Si vous vous demandez pourquoi quelqu'un aurait besoin de faire cela, vous êtes dans le même bateau avec hard-core utilisateurs de CVS qui se demandaient pourquoi quelqu'un se est plaint que renommer ou déplacer des fichiers était la galère, et que les répertoires de renommage était bien ... , ridicule. Déplacer des choses fait partie de refactoring. Les projets sont divisés et ont fusionné tout le temps. Pour autant que je suis concerné, copie croix-référentiel et Move est une caractéristique essentielle.
hgcp ne fait rien que vous ne pouviez pas faire manuellement si vous vouliez. Fondamentalement, il utilise l'extension de conversion Mercurial. hgcp écrit simplement un FileMap pour vous, et exécute la bonne séquence de commandes hg. Il vous permet également de spécifier les chemins d'une manière plus naturelle.
et les correctifs
Je suis heureux d'accepter les correctifs qui améliorent hgcp ou corriger des bugs. . Mon but est de garder hgcp aussi simple que possible, et se concentre sur les flux de travail inter-référentiel
Exigences :
- Python
Limites :
- hgcp ne fonctionne que sur les dépôts qui sont stockés sur le système de fichiers local. Espérons que ce ne est pas un lourd fardeau, comme vous pouvez facilement vérifier repos à distance, l'utilisation hgcp, puis synchronisez. En outre, les référentiels source et de destination doivent tous deux être vérifié, et ne ont pas les modifications non validées.
- On m'a dit que cette méthode ne conserve pas toute l'histoire d'un fichier si elle a été rebaptisée, en particulier lorsque le copié / déplacé fichier a une histoire longue et rameuse. Toutefois, cela n'a jamais causé un problème pour moi en utilisation réelle. Juste être conscient que lorsque vous copiez ou déplacez un fichier, vous ne pourriez pas copiez ce est l'histoire entière.
Commentaires non trouvées