Contraste de acción personalizada Atlassian SourceTree

Después de verificar una nueva sucursal, quería detener el seguimiento de files como .classpath a través de Atlassian SourceTree (Versión 1.4.0.0). Creé una acción personalizada con los detalles a continuación:

enter image description here

Luego, desde el panel "Cambios en la copy de trabajo", seleccioné un file, hice clic con el button derecho e intenté ejecutar el command personalizado "asumir sin cambios". Sin embargo, recibí este post de error totalmente "escurridizo":

enter image description here

Copié el command completo en el post de error anterior e intenté ejecutarlo desde la línea de command: enter image description here

Curiosamente, funcionó.

¿Puede alguien decirme por qué esta acción personalizada no funcionó en primer lugar onclick con el button derecho y seleccionar desde el menu?

Esto es interesante. Acabo de notar este problema en mi propia configuration cuando un command basado en git que funcionaba anteriormente ahora ya no funcionaba. Supongo que algo ha cambiado en la versión más reciente de SourceTree. Creo que el problema ahora es que los commands invocados no configurarán el entorno completo como se esperaba al abrir un terminal desde SourceTree. El post Completed with errors es el resultado de que no se encuentra el command.

Para mi propia configuration, soluciono este problema creando mis acciones personalizadas con el process cmd . Por ejemplo:

  • Leyenda: Parche de índice completo para comisión seleccionada
  • Script para ejecutar: cmd

Con parameters:

 /c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c 'git format-patch --full-index -1 $SHA' 

Otro ejemplo:

  • Leyenda: Parche de índice completo para el índice de trabajo
  • Script para ejecutar: cmd

Con parameters:

 /c %LOCALAPPDATA%\Atlassian\SourceTree\git_local\bin\sh.exe --login -i -c ^"git diff --full-index --cached > patch.diff^" 

(estos ejemplos asumen que estás usando el Git embedded en SourceTree)

Usando SourceTree 1.6.12 y Git 1.8.3.

Compruebe si $FILE representa la ruta completa completa del file que seleccionó.
Parece ser presentado de esta manera en " Acciones personalizadas: más poder para ti " (febrero de 2012, cuando se introdujeron acciones personalizadas en Atlassian Source Tree 1.3+).

Si ese es el caso, usar $FILE lugar de C:/Repository/$FILE debería ser suficiente.