🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #8167

Re: CVS Returns: scripts parar detectar cambios

#8167
From: Count Zero
Date: Mon, 23 Dec 2002 18:54
95 lines
4949 bytes
Iba "Jes�s M. NAVARRO" por es.comp.os.linux.programacion

> Hola, Count:
> 
> El procedimiento est�ndar estriba en el correcto uso de las expresiones

Je, je eso del 'procedimiento est�ndard' parece que lo hayas sacado del 
"Reglamento del Soldado de Infanter�a de programaci�n". ;)

> Como ya has averiguado, dada la naturaleza de CVS, su "unidad de
> trabajo" es el fichero, y todas sus operaciones son "file oriented".

Cierto.

> Yo ten�a hechos una serie de scripts para manejar las situaciones en las
> que te hayas ahora pero, desgraciadamente, se han perdido "en la noche
> de los tiempos". 

Siempre se terminan perdiendo los mejores trabajos, maldito Murphy.

> 1/ Tags con "contenido sem�ntico": antes o despu�s te encontrar�s con
> que cierta operaci�n, basada en tags tendr�a que tener excepciones, y no
> te gustar� tener que ir activando/desactivando tus scripts.  Utiliza las
> expresiones regulares *tambi�n* contra los tags (as�, deber� estar
> documentado que -por ejemplo, lo detalles concretos dependen de tu
> implementaci�n-, los tags en la forma 'v_lo_que_sea', corresponder�n a
> versiones que tienen que ir a producci�n, mientras que 'mn_lo_que_sea',
> son versiones internas de mantenimiento, y que cualquier otro tag ser�
> ignorado por los scripts).

S�, esto ya lo tengo claro. Pensaba etiquetar tipo 'r#-#-#' m�s una 
etiqueta 'prod' para indicar que �s la es se debe usar 'instalar' para el 
script. Es decir, determinada revisi�n de un fichero podr�a tener dos tags: 
el tag de versi�n tipo 'r#-#-#' y el tag digamos estable 'prod' que ser�a 
el que buscar�a el script de taginfo.

> 2/ Operar *siempre* contra m�dulos completos: as�, si existe el m�dulo
> "sitio_web_1", todas las operaciones globales las llevar�s a cabo en
> este nivel y no en niveles interiores (`cvs tag sitio_web_1`, no `cvs
> tag sitio_web_1/fichero.txt`).  Esto permite, adem�s, el uso de un
> "fichero sabio" que te permitir� convertir operaciones "file oriented"
> en operaciones "module oriented" simplemente con realizarlas cuando el
> "fichero sabio" se vea afectado.
>
> As�, veamos el caso pr�ctico de uso de taginfo:
> El cuarto par�metro que se pasa al script es un "array" que contiene el
> nombre del fichero afectado y la revisi�n: si utilizas un "fichero
> sabio", te basta con que el script s�lo haga lo que tenga que hacer
> cuando el nombre del fichero coincida con el del "fichero sabio",
> teniendo en cuenta que la operaci�n "tag" (trata de evitar rtag en la
> medida de lo posible, salvo cuando puedas asociarla a otro tag ya

No he entendido muy bien esta parte, pero creo que m�s o menos �s lo que 
ten�a pensado.

Quieres decir poner un fichero 'centinela' en el modulo para que el script 
se fijar� s�lo en �l. 

Pero si �s as� hay un problemilla. Supongamos que la �ltima revision de 
todo el m�dula ya est� etiquetado como 'prod' (la etiqueta que busca el 
script en el centinela). Modifico un fichero y hago un cvs tag -F prod. 
C�mo s�lo hay un archivo (el modificado) que no tenga el tag CVS s�lo har� 
tag sobre este. O sea que deber�a modificar cada vez el centinela para 
'activar' el script. Espero explicarme bien.


> del script que t� invocar�s podr�a ser algo as�:

> #!/bin/bash
> 
> readonly SMARTFILE="log.txt"
> 
> case "$4" in
> SMARTFILE)
> # Hago lo que tenga que hacer
> ;;
> *)
> # Esto no me interesa procesarlo
> ;;
> esac
> 
> exit 0
> 
> 
> (ojo: en tus primeras pruebas, lim�tate a enviar a la salida est�ndar
> los par�metros de entrada, porque te estoy hablando de memoria y quiz�
> el formato de los par�metros de entrada no sea exactamente el que te
> digo).


Muchas gracias, tendr� en cuenta tus consejillos.

Feliz Navidad - Bon Nadal
Salut
Count
Technical Details
Message-ID: <au7m3f$50vlm$1@ID-131244.news.dfncis.de>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!fu-berlin.de!uni-berlin.de!171.red-80-36-170.pooles.rima-tde.NET!not-for-mail
References: <au4v15$4bdng$1@ID-131244.news.dfncis.de> <tuijd-db2.ln1@mithrandir.intranet>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,2cc1b90df619f39
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-12-23 10:53:37 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!fu-berlin.de!uni-berlin.de!171.red-80-36-170.pooles.rima-tde.NET!not-for-mail
From: Count Zero <mark@l3jane.net>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: CVS Returns: scripts parar detectar cambios
Date: Mon, 23 Dec 2002 19:54:10 +0100
Lines: 96
Message-ID: <au7m3f$50vlm$1@ID-131244.news.dfncis.de>
References: <au4v15$4bdng$1@ID-131244.news.dfncis.de> <tuijd-db2.ln1@mithrandir.intranet>
NNTP-Posting-Host: 171.red-80-36-170.pooles.rima-tde.net (80.36.170.171)
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8Bit
X-Trace: fu-berlin.de 1040669616 5275318 80.36.170.171 (16 [131244])
User-Agent: KNode/0.6.1