Jak skonfigurować program FileMerge firmy Apple tak, aby działał jako narzędzie scalania Mercurial? Mam plik instalacyjny .hgrc w moim katalogu domowym i po prostu chcę skonfigurować FileMerge jako program scalający.Konfigurowanie Mercurial - FileMerge dla Apple Mac OS X
Odpowiedz
Jak opisano w hg wiki ten pracował dla mnie z różnymi wersjami GW:
- utworzyć skrypt gdzieś w
$PATH
, powiedzmy w/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
- Dodaj następujące sekcje do swojej
~/.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 =
Teraz można go używać jako $hg opendiff
.
Aktualizacja: wiki Mercurial ma numer page about FileMerge. Przeczytaj to najpierw.
Nie próbowałem używać FileMerge
, ale ogólny przegląd może pomóc. Większość tego, co chcesz wiedzieć, jest opisane na stronie wiki Mercurial: MergeProgram. Wersja krótka to typowe opcje:
Ustawienie zmiennej środowiskowej HGMERGE
w celu wskazania żądanego narzędzia scalania.
lub dodać następujące wpisy do .hgrc
:
[ui]
merge = /path/to/toolname
[merge-tools]
toolname.args = $base $local $other
Kluczem jest to, że narzędzie do seryjnej musi podjąć trzy argumenty: przegląd bazowej, lokalnych zmian, a zmiany w stosunku do innych gałęzi. Pierwsza konfiguracja służy do określania narzędzia, a druga do określania sposobu wykonywania argumentów.
Nie próbowałem, ale założę się, że musisz wskazać całą drogę do pliku wykonywalnego FileMerge, a nie tylko pakietu aplikacji.
Więc:
[ui]
merge = /Developer/Applications/Utilities/FileMerge.app/Contents/MacOS/FileMerge
Próbowałem tego, to nie takie proste. –
próbowałem go jako dobrze, mam: 'FileMerge [51550: 30F] Nie można utworzyć połączenia dla root' – jammon
Żadna z powiązanych dokumentacji nie działała dla mnie bez modyfikacji; ostatecznie to, co zrobiłem, to połączenie the official instructions i "Używanie Vima jako programu do tworzenia plików" z https://www.mercurial-scm.org/wiki/TipsAndTricks. Stworzyłem skrypt opendiff-w opisanej w this answer (choć nazwałem go hgvdiff) i umieścić następujące do mojego .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 =
Jest umiarkowanie funkcjonalny, choć czasami wykonuje czek czy plik był zmieniono przedwcześnie, co doprowadziło do pęknięcia:
output file wwwroot/zoomingo/website/protected/messages/en/z.php appears unchanged
was merge successful (yn)? n
po zamknięciu FileMerge.
Oto jak naprawiłem go:
Utworzono /usr/local/bin/opendiff-w
wypełniona:
#!/bin/sh
# opendiff returns immediately, without waiting for FileMerge to exit.
# Piping the output makes opendiff wait for FileMerge.
opendiff "[email protected]" | cat
Następnie prowadził polecenie: sudo chmod +x /usr/local/bin/opendiff-w
edytowane ~/.hgrc
z następującym uzupełnieniem:
[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 =
Następnie uruchomiłem obserwację ng polecenie, by sprawdzić pogoda to działało: hg opendiff
Jednak mam następujący błąd:
exception raised trying to run FileMerge: launch path not accessible
W celu ustalenia, że wpadłem następujące polecenie:
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer/
To powinno teraz działać i otwórz FileMerge.
============================================== ======================
Jeśli używasz TorsoiseHg na Macu, jedyną rzeczą, którą musisz zrobić teraz, aby pracować z FileMerge jest aby wybrać filemerge z narzędzi Detected merge/diff, kiedy pojawi się okno Resolve Conflict i wybierz narzędzie Resolve.
Nadzieja to pomaga.
- 1. Jak stworzyć wtyczkę pocztową dla Apple Mac OS X
- 2. A MapKit dla Mac OS X?
- 3. Konfigurowanie SDL na Mac OS X Lion z XCode 4
- 4. Jak piszesz program dla Mac OS X?
- 5. ldconfig dla systemu Mac OS X
- 6. Klasa UIDevice dla Mac OS X?
- 7. Instalacja Pygame dla Mac OS X 10.6.8
- 8. Instalacja RVM wisi na Mac OS X
- 9. mac os x dostęp framebuffer raw dane
- 10. Mac OS X: CGGetLastMouseDelta i programowanie myszy
- 11. Sterowanie wersją mieszania z wersjami Mac OS X Lion
- 12. Jak zainstalować wxPython na Mac OS X?
- 13. Kontrolowanie języka Python w systemie Mac OS X - konfigurowanie środowiska i bibliotek
- 14. Mac OS X darmowe kompilator C
- 15. Instalacja/aktualizacja gradle na Mac OS X
- 16. Włączanie Xdebug na Mac OS X Lion
- 17. JNotify w systemie Mac OS X?
- 18. Łączenie statyczne wxHaskell na Mac OS X
- 19. Jak zainstalować mod_jk na Mac OS X
- 20. Jaka jest różnica między mapami klawiszy - Mac OS X i Mac OS X 10.5+?
- 21. Uprawnienia XAMPP na Mac OS X?
- 22. Mac OS X libcurl dylib wersja kompatybilności
- 23. Instalacja serwera Nginx Mac OS X
- 24. Aktualizacje aplikacji w systemie Mac OS X
- 25. Synchronizacja danych iOS i Mac OS X
- 26. Aplikacja Java Windows vs Mac OS X
- 27. Building Google Breakpad na Mac OS X
- 28. Jak mogę utworzyć "listę źródeł" na Mac OS X?
- 29. Udostępniane dane dla systemu Linux i Mac OS X
- 30. Linux/Mac OS X odpowiedników dla Windows Communication Foundation
** Dla innych **:' opendiff-w' jest skrypt, który w końcu jest wymieniony w. plik hgrc (nie było to dla mnie zbyt oczywiste). Pierwszym blokiem kodu jest zawartość. Zmieniono również uprawnienia do dodawania execute 'chmod + x opendiff-w' –
** Dla innych: ** Coś, co nie było dla mnie oczywiste: Teraz musisz uruchomić' op/hg '$ hg' (aby zobaczyć wyjście w' FileMerge '); '$ hg diff' nadal będzie wyświetlać dane wyjściowe w linii poleceń –
** Dla innych: ** ... i musisz włączyć rozszerzenie extdiff w' ~/.hgrc' –