2010-05-21 12 views

Respuesta

149

En Linux, si desea ver solo los conflictos, canalice el estado a través de grep.

svn status | grep -P '^(?=.{0,6}C)' 
+5

Agregar '-A 1' a los argumentos grep le mostrará la línea después de la línea de conflicto, que a veces está relacionada con el conflicto. –

+0

@ N13 +1 para la respuesta. Sería mejor si lo describes en detalle. Como lo que es -P '^ (? =. {0,6} C)'. – Workonphp

+4

-P dice [grep] (http://unixhelp.ed.ac.uk/CGI/man-cgi?grep) para usar perl regex,^= inicio de cadena, (? =) Encierre el [lookahead] (http : //www.regular-expressions.info/lookaround.html) patrón que es. {0,6} cualquier 0 a 6 caracteres y la letra C, que es el indicador de conflictos – Pete

11

Usted podría intentar svn merge -r <revision> --dry-run y ver lo que sucede de esa manera.

+0

Doesn' Parece que funciona en Windows con svn 1.7.8. Registro de errores: svn: E205001: Pruebe 'svn help' para obtener más información svn: E205001: Fuente de fusión requerida – kakyo

1

Es posible utilizar svn merge --dryrun al tiempo que especifica la URL del repositorio con todas las revisiones posteriores a la última actualización.

E.g. Si su copia actual se basa en la revisión 147 esto podría hacerlo:

svn merge -r 148:HEAD http://url.to.repo/repo/ 

No es nada que he hecho a mí mismo aunque, por lo que tendrá que hacerlo por uno mismo.

3

Si ya se han fusionado puede utilizar

svn status 

y ver una mayúscula "C" para el conflicto, pero por lo general no debería ver este tipo en su copia de trabajo.

21

sólo tiene que utilizar grep!

svn st | grep '^C' 
+1

Funciona ... ¿qué significa el símbolo ^? –

+2

@sid, es regexp para 'comienza con', por lo que significa que el primer carácter es un C –

+1

. Estaba pensando si esto podría pasar por alto archivos que tienen el estado "A + C". ¿Eso es un problema? – Raghav

-1

en mac

$ svn status | grep -e '^!' 

cumplió con su cometido

aquí es el hombre para grep:

uso: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [- B num] [-C [num]] [-e patrón] [-f archivo] [--binary-files = value] [--color = when] [--context [= num]] [- directo Ries = acción] tamponada con --line [--label] [] [--null] [patrón] [archivo ...]

+0

¿Cómo va a coincidir un signo de admiración para ayudar a encontrar elementos en conflicto? – anddam

+0

'^!' Es la expresión regular para cada línea que comienza con '!'. Todas las líneas en conflicto comienzan con '!' – thesummersign

+1

No, acabo de resolver conflictos en un repositorio de 1.9 y las líneas de conflicto comenzaban con solo "C". – anddam

2

Para usar Windows PowerShell:

svn status | sls -Pattern '^(?=.{0,6}C)' 
Cuestiones relacionadas