IntelliJ Diff Tool en SourceTree

¿Es posible usar la herramienta IntelliJ Diff en SourceTree? Sé que es accesible desde la terminal.

Gracias

Tomó un time para descubrir arguments. El textbox del command Diff debe contener la ruta a intellij, como: /Applications/IntelliJ\ IDEA\ 12.app/Contents/MacOS/idea

enter image description here

Windows
Comando Diff: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.2\bin\idea.exe
Argumentos: diff $LOCAL $PWD/$REMOTE

Comando de fusión: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.2\bin\idea.exe
Argumentos: (Esto no está funcionando bien para mí. Tengo problemas con el rumbo) merge $LOCAL $PWD/$REMOTE $PWD/$BASE $MERGED


A partir del 12.1, estos son los arguments para usar las herramientas de fusión y fusión de IntelliJ desde fuera del progtwig:

Herramienta Diff
<path to IntelliJ IDEA launcher> diff <path to file1> <path to file2>

Herramienta de fusión
<path to IntelliJ IDEA launcher> merge <path to file1> <path to file2> <path to file3> <path to output>

DOCUMENTACIÓN OFICIAL: running-intellij-idea-as-a-diff-or-merge-command-line-tool


FWIW, terminé usando IntelliJ para mi control de fuente. Me gusta más que Sourcetree. Es bastante robusto.

Para OSX android studio lo he logrado con estos pasos:

Abra IntelliJ / Android Studio -> Herramientas -> Crear iniciador de command-line Algo como esto:

Después de eso, abra las Preferences de SourceTree: y ponga "/ usr / local / bin / studio" en el command Diff / Merge. Me gusta esto: Me gusta esto:

Diff Arguments: diff $ LOCAL $ PWD / $ REMOTE

Combinar arguments: fusionar $ PWD / $ LOCAL $ PWD / $ REMOTO $ PWD / $ BASE $ PWD / $ MERGED

Y si todo está bien, debería funcionar.

Si alguien está interesado en la configuration de Android Studio en Mac :

 <path to IntelliJ IDEA launcher>: /Applications/Android\ Studio.app/Contents/MacOS/studio Diff tool <path to IntelliJ IDEA launcher> diff <path to file1> <path to file2> Merge tool <path to IntelliJ IDEA launcher> merge <path to file1> <path to file2> <path to file3> <path to output> 

El único problema que noté es que Android Studio no puede mostrar más de 1 diff a la vez. Cuando bash, se queja de que el file no se puede mostrar

En Mac con intellij 2016

 diff $LOCAL $PWD/$REMOTE merge $PWD/$LOCAL $PWD/$REMOTE $PWD/$BASE $PWD/$MERGED 

Para la herramienta de fusión en Windows, estos arguments funcionan para mí:

 merge $PWD/$LOCAL $PWD/$REMOTE $PWD/$MERGED 

En macOS con IntelliJ IDEA CE .

Comando Diff : open
Argumentos : -W -b com.jetbrains.intellij.ce --args diff "$LOCAL" "$PWD/$REMOTE"

enter image description here

Dónde:

  • open : command del sistema para abrir files y directorys.
  • -W : Causas open para esperar hasta que las aplicaciones que abre (o que ya estaban abiertas) hayan salido.
  • -b com.jetbrains.intellij.ce : identificador de package para la aplicación que se utilizará al abrir el file.
  • --args : todos los arguments restantes se pasan a la aplicación abierta en el parámetro argv a main() .