Comment configurer le programme FileMerge d'Apple pour qu'il fonctionne comme l'outil de fusion de Mercurial? J'ai ma configuration de fichier .hgrc dans mon répertoire personnel et je veux simplement configurer FileMerge comme programme de fusion.Configuration de Mercurial - FileMerge pour Apple Mac OS X
Répondre
Comme décrit dans le hg wiki, cela a fonctionné pour moi avec différentes versions de hg:
- Créer un script quelque part dans votre
$PATH
, par exemple dans/usr/local/bin
:
$ vim /usr/local/bin/opendiff-w #!/bin/sh # opendiff returns immediately, without waiting for FileMerge to exit. # Piping the output makes opendiff wait for FileMerge. opendiff "[email protected]" | cat
- Ajouter les sections suivantes à votre
~/.hgrc
:
[extdiff] cmd.interdiff = hg-interdiff cmd.opendiff = opendiff-w [merge-tools] filemerge.executable = opendiff-w filemerge.args = $local $other -ancestor $base -merge $output [extensions] extdiff =
Maintenant, vous pouvez l'utiliser comme $hg opendiff
.
Mise à jour: Le wiki Mercurial a un page about FileMerge. Lisez ça en premier.
Je n'ai pas essayé d'utiliser FileMerge
mais un aperçu général pourrait aider. La plupart de ce que vous voulez savoir est décrit sur la page MergeProgram du wiki de Mercurial. La version courte est vos choix typiques sont:
Définissez la variable d'environnement HGMERGE
pour pointer sur l'outil de fusion souhaité.
ou, ajoutez ce qui suit à votre .hgrc
:
[ui]
merge = /path/to/toolname
[merge-tools]
toolname.args = $base $local $other
La clé est qu'un outil de fusion doit prendre trois arguments: la révision de base, vos changements locaux et les changements de l'autre branche. Vous utilisez la première configuration pour spécifier l'outil et la seconde pour spécifier comment il prend les arguments.
Je ne l'ai pas essayé, mais je parie que vous devez pointer tout le chemin vers l'exécutable FileMerge, pas seulement l'ensemble de l'application.
Alors:
[ui]
merge = /Developer/Applications/Utilities/FileMerge.app/Contents/MacOS/FileMerge
J'ai essayé, ce n'est pas si simple. –
Je l'ai essayé aussi, j'ai: 'FileMerge [51550: 30f] Impossible de créer la connexion pour root' – jammon
Aucune de la documentation liée n'a fonctionné pour moi sans modifications; finalement ce que j'ai fini par faire était une combinaison de the official instructions et "Using Vim comme le programme filemerge" de https://www.mercurial-scm.org/wiki/TipsAndTricks. J'ai créé le script opendiff-w décrit dans this answer (bien que je l'ai nommé hgvdiff), et il faut mettre dans mon .hgrc:
[extdiff]
cmd.interdiff = hg-interdiff
cmd.opendiff = /usr/local/bin/hgvdiff
[merge-patterns]
** = filemerge
[merge-tools]
filemerge.executable = /usr/local/bin/hgvdiff
filemerge.args = $local $other -ancestor $base -merge $output
filemerge.checkchanged = true
filemerge.gui = true
[extensions]
extdiff =
Ceci est modérément fonctionnel, mais il effectue parfois le chèque si un fichier a été a changé prématurément, conduisant à un groupe de:
output file wwwroot/zoomingo/website/protected/messages/en/z.php appears unchanged
was merge successful (yn)? n
lorsque vous fermez FileMerge.
Voici comment je l'ai fixé:
Créé /usr/local/bin/opendiff-w
Rempli de:
#!/bin/sh
# opendiff returns immediately, without waiting for FileMerge to exit.
# Piping the output makes opendiff wait for FileMerge.
opendiff "[email protected]" | cat
puis a couru la commande: sudo chmod +x /usr/local/bin/opendiff-w
ensuite modifié ~/.hgrc
avec l'ajout suivant:
[extdiff]
cmd.interdiff = hg-interdiff
cmd.opendiff = opendiff-w
[merge-tools]
filemerge.executable = /usr/local/bin/opendiff-w
filemerge.args = $local $other -ancestor $base -merge $output
[extensions]
extdiff =
Puis j'ai couru le followi commande ng pour vérifier wether il a travaillé: hg opendiff
Cependant, je suis l'erreur suivante:
exception raised trying to run FileMerge: launch path not accessible
Pour réparer j'ai couru la commande suivante:
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer/
Cela devrait maintenant fonctionner et ouvrez FileMerge.
============================================== ======================
Si vous utilisez TorsoiseHg pour Mac, la seule chose que vous devez faire maintenant pour travailler avec FileMerge est pour choisir filemerge à partir des outils de fusion/diff détectés lorsque la fenêtre de résolution de conflit apparaît et choisissez Tool Resolve.
Hope this helps.
- 1. Configuration de Bash sur Mac OS X 10.4+
- 2. Ajustements Swing pour Mac OS X
- 3. Configuration du serveur d'application "Simple" sous Mac OS X Server?
- 4. Alternative à FinalBuilder pour Mac OS X?
- 5. Comment installer libgluezilla pour MAC OS X
- 6. Où est PyGTK pour Mac OS X?
- 7. Débogueur Fortran pour Mac OS X
- 8. Mac OS X: charge moyenne
- 9. Qt4Dotnet sur Mac OS X
- 10. Où puis-je télécharger Xcode pour Mac OS X 10.4
- 11. Pas de détection Sous Mac OS X
- 12. Comment désinstaller MySQL de Mac OS X?
- 13. Interrogation Mac OS X Spotlight de Java
- 14. Échange de vue Mac OS X
- 15. Logiciel de suivi de bogues pour Mac OS X
- 16. Comment faire une capture d'écran d'un email dans "apple mail" et "entourage" dans Mac OS X?
- 17. Alternative à poseAsClass dans Mac OS X 10.5 et supérieur?
- 18. Paramètre DHCP sous Mac OS X
- 19. installe sqlite3 sur mac os x?
- 20. Applet 1.6 sur Mac OS X
- 21. Application bundle Mac OS X Leopard
- 22. Vim Mode d'insertion sur Mac OS X
- 23. L'Apple Mac OS X est-il gratuit?
- 24. Utiliser virtualenv sous Mac OS X
- 25. Paperclip, Rails 2.3.3 et Mac OS X
- 26. Oracle sur Mac OS X Snow Leopard
- 27. Cycle de vie de l'applet sous Mac OS X
- 28. Sous-dossier pour site Web sur Mac OS X
- 29. Mac OS X - Emplacement du socket pour PHP & fastcgi?
- 30. Éditeur XML pour OS X
** Pour les autres **:' opendiff-w' est le fichier de script qui finit par être référencé dans le. fichier hgrc (ce n'était pas trop évident pour moi). Le premier bloc de code est le contenu. Aussi, changé les permissions pour ajouter exécuter 'chmod + x opendiff-w' –
** Pour les autres: ** Quelque chose qui n'était pas évident pour moi: Vous devez maintenant exécuter' $ hg opendiff' (pour voir la sortie dans 'FileMerge '); '$ hg diff' vous montrera toujours la sortie sur la ligne de commande –
** Pour les autres: ** ... et vous devez activer l'extension extdiff dans' ~/.hgrc' –