[cvsnt] Re: Important: Doing patchs with CVS.

Terris Linenbach noreply at nowhere.nwh
Tue Nov 26 18:34:27 GMT 2002


In general, the CVS log command can be used to find changes between two
tags, or made after a tag.

In practice, it's not so easy, especially when files are branched.  I have
recently spent about three days on this problem.

Although I don't have a tool that does exactly what you want, I do have
example code written in Perl that uses "cvs log" which is a big part of the
problem.

The link http://devguy.com/pctk/hist.htm points to several files.  One in
particular is "Perl module source code" -- CVS.pm contains a function called
MakeChangeLog which parses the output of "cvs log."

If you have a Windows machine and install the executables via the link
"Executables install," the program "dgchangelog.exe" is a shell for this
function.

Likewise, you can click on the "Perl source code" link to get the Perl
source code for dgchangelog.  I have only tested this on Windows but in
theory the code is multi-platform.

Example usage:

c:\cvs>dgchangelog tagname "" Sandbox c:/cvs

This outputs all changes made _after_ tagname in the same branch, up to the
actual revision that's checked out in your sandbox.  It is theoretically
possible to parse the output of this script to then pipe to "cvs checkout".
You can provide a second tag name but the output is generally unreliable in
this case.

Or, you can modify the source code to your heart's content if you are a Perl
jockey.

Hope this helps.

"Celio Rodrigues" <celio.rodrigues@@ibs.pt> wrote in message
news:as00kg$jce$1 at sisko.nodomain.org...
> Hello,
>
>      At our company we are using CVS to manage an web aplication with
> thounsands of files, we need to extract from the repository only files
that
> changed since one tag made in the past, our intend it's only to be able to
> send the changed files to the customer.
>
> I have been searching, but i didn't find any script or what-so-ever that
> could help me achieve that.
>
> Any ideia?
>
> thanks
> Celio
>
>





More information about the cvsnt mailing list