traduccion - ¿Cómo busca el texto de las descripciones de la lista de cambios en Perforce?
perforce visual merge tool (8)
Usar p4sql es realmente la única forma de hacer lo que quiere de manera efectiva. No estoy enterado de ninguna otra manera. El beneficio, por supuesto, es que puede usar las declaraciones de selección para limitar el rango de los valores de la lista de cambios (a través de la fecha, el usuario, etc.). Su método funcionará, pero se volverá engorroso muy rápidamente a medida que genere más listas de cambios. Puede limitar el alcance del comando de cambios, pero no obtendrá la flexibilidad de p4sql.
En ocasiones, me encuentro buscando el texto de las descripciones de listas de cambios en Perforce. No parece haber una manera de hacer esto en P4V. Puedo hacerlo redireccionando la salida del comando de cambios a un archivo ...
p4 changes -l > p4changes.txt
... (el modificador -l le dice que descargue el texto completo de las descripciones de la lista de cambios) y luego busca el archivo, pero esto es bastante engorroso. ¿Alguien ha encontrado una mejor manera?
Uso p4sql y ejecuto una consulta en la base de datos "changes". Aquí está el esquema de base de datos forzosa
La consulta se ve algo así (sin probar)
select change from changes where description like ''%text%'' and p4options = ''longdesc''
editar: agregó las p4opciones para devolver más de 31 caracteres en la descripción.
Si todavía te encanta tu línea de comandos, puedes escribir un pequeño script en perl que:
- cambia el separador de registros $ / a la doble línea nueva "/ n / n" para que filtre la entrada en los registros completos de la salida p4 con ztag.
- escanea la parte ''/ ^ ... desc /..//'' con expresiones regulares de los argumentos.
el uso sería algo así como ''p4-cambios en la etiqueta -l | yourperlfilter.pl searchterm1 searchterm2 ''
si funcionó bien, podrías integrarlo en el menú de herramientas de p4win .
Eddie en Juegos publicó su Perforce Changelist Search 0.1 en http://www.eddiescholtz.com/blog/archives/130
Pero, me gusta usar mi editor de texto favorito con el simple: cambios p4 -s enviados // prog / cosas / principales / ...> temp.txt
Aquí hay una versión Powershell de la respuesta "grep" de Paul. De nuevo, busca la cadena especificada dentro de la descripción del cambio y devuelve las 3 líneas anteriores, para incluir el ID de cambio:
p4 changes -L | select-string "search string" -Context (3,0)
¿Por qué redirigir a un archivo cuando puede canalizar la salida a través de less
y usar less
la búsqueda?
p4 changes -l | less
Y luego presione / para solicitar una cadena de búsqueda. Después, n saltará a la siguiente coincidencia, y Shift + n saltará a la anterior.
Una implementación de less
para Windows está disponible como parte de UnxUtils .
Cuando el panel de lista de cambios presentado tiene enfoque, un CTRL + F le permite realizar una búsqueda de texto arbitraria, que incluye descripciones de lista de cambios.
La única limitación es que busca solo las listas de cambios que se han extraído del servidor, por lo que es posible que deba aumentar el número recuperado. Esto se hace a través de la configuración "Número de listas de cambio, trabajos, asignaciones de ramas o etiquetas para buscar a la vez" que se puede encontrar navegando a Edición-> Preferencias-> Datos del servidor.
p4 changes -L | grep -B 3 searchstring
-B 3
significa mostrar 3 líneas antes de la cadena coincidente, debería ser suficiente para mostrar la identificación de cambio con 2 comentarios de línea, pero puede cambiarla si es necesario.