Agregar -A 1argumentos a grep le mostrará la línea después de la línea de conflicto, que a veces está relacionada con el conflicto.
Wesley Hartford
4
-P le dice a grep que use perl regex, ^ = inicio de cadena, (? =) Encierre el patrón de anticipación que es. {0,6} cualquier 0 a 6 caracteres y la letra C, que es el indicador de conflictos
Pete
5
¿Cuál es el punto de usar la parte de anticipación? ¿No pudo '^.{0,6}C'funcionar tan bien?
hans_meine
2
Para usar este mismo comando en OSX, necesita instalar GNU grep porque el BSD grep no tiene el indicador perl regex (-P)
G.Rassovsky
4
En Windows, la versión Powershell de esto es(svn status) -Match '^(?=.{0,6}C)'
No parece funcionar en Windows con svn 1.7.8. Registro de errores: svn: E205001: Pruebe 'svn help' para obtener más información svn: E205001: Se requiere fuente de fusión
Quizás sea posible usarlo svn merge --dryrunmientras se especifica la URL del repositorio con todas las revisiones después de la última con la que actualizó.
Por ejemplo, si su WC actual se basa en la revisión 147, esto podría hacerlo:
svn merge -r 148:HEAD http://url.to.repo/repo/
Sin embargo, no es nada que haya hecho yo mismo, así que tendrás que probarlo tú mismo.
Si no ha fusionado o actualizado archivos, use el siguiente comando
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Para abreviar
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Los detalles
SVN no marcan el estado de conflicto (C) hasta que actualice los archivos usando svn update.
Hasta entonces, los estados se muestran a continuación
M - Modificado en local
* - Actualizaciones / Entrantes desde remoto
M y * - Modificado en local, así como en remoto - Esto es un conflicto pero svn aún no se ha marcado
-A 1
argumentos a grep le mostrará la línea después de la línea de conflicto, que a veces está relacionada con el conflicto.'^.{0,6}C'
funcionar tan bien?(svn status) -Match '^(?=.{0,6}C)'
¡Solo usa grep!
fuente
Podrías intentar
svn merge -r <revision> --dry-run
ver qué sucede de esa manera.fuente
Si tiene una cuenta de http://betterthangrep.com/ , puede hacer lo siguiente
fuente
Para uso de Windows PowerShell:
fuente
Si ya se ha fusionado, puede usar
y ver una "C" mayúscula para el conflicto, pero normalmente no debería ver ese tipo en su copia de trabajo.
fuente
Quizás sea posible usarlo
svn merge --dryrun
mientras se especifica la URL del repositorio con todas las revisiones después de la última con la que actualizó.Por ejemplo, si su WC actual se basa en la revisión 147, esto podría hacerlo:
Sin embargo, no es nada que haya hecho yo mismo, así que tendrás que probarlo tú mismo.
fuente
Si no ha fusionado o actualizado archivos, use el siguiente comando
svn status --show-updates | grep -P '.*(?=.*M)(?=.*\*).*'
Para abreviar
svn st -u | grep -P '.*(?=.*M)(?=.*\*).*'
Los detalles
SVN no marcan el estado de conflicto (C) hasta que actualice los archivos usando
svn update
.Hasta entonces, los estados se muestran a continuación
M - Modificado en local
* - Actualizaciones / Entrantes desde remoto
M y * - Modificado en local, así como en remoto - Esto es un conflicto pero svn aún no se ha marcado
fuente
en mac
hizo el trabajo
aquí está el hombre de grep:
fuente
^!
es la expresión regular de cada línea que comienza con!
. Todas las líneas en conflicto comienzan con!