Article View: es.comp.os.linux.programacion
Article #8167Re: CVS Returns: scripts parar detectar cambios
From: Count Zero
Date: Mon, 23 Dec 2002 18:54
Date: Mon, 23 Dec 2002 18:54
95 lines
4949 bytes
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-mailReferences:
<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