Discussion:
edit -m messages logged
Harry Putnam
2011-10-13 16:50:30 UTC
Permalink
I want to rewrite a few messages logged at the time cvs ci.

This is a single user home machine with just config files and homeboy
scripts under cvs.

I see a section in the manual under
Administrative options

That shows this:
`-mREV:MSG'

Can anyone show the practical usage syntax.

I've tried various things with just cvs, and cvs admin and cvsadmin but
not getting it right.

Assume cd to checked out module

How to change the log message in

./somefile
Amit Uttamchandani
2011-10-13 17:06:06 UTC
Permalink
Post by Harry Putnam
I want to rewrite a few messages logged at the time cvs ci.
This is a single user home machine with just config files and homeboy
scripts under cvs.
I see a section in the manual under
Administrative options
`-mREV:MSG'
Can anyone show the practical usage syntax.
I've tried various things with just cvs, and cvs admin and cvsadmin but
not getting it right.
Assume cd to checked out module
How to change the log message in
./somefile
Hi,

The *-mMSG* is just an option to type the commit message when you check
in the file. So,

cvs commit -m "This is a commit message"

However, it sounds like you want to change messages that are already
logged in CVS. All this information is stored in your CVS repository, in
the ",v" files. These are just text files, so you can edit them. The log
message is under the *log* keyword. Note that the strings are enclosed
in "@", so don't remove these.

Amit
Larry Jones
2011-10-13 19:32:58 UTC
Permalink
Post by Harry Putnam
I see a section in the manual under
Administrative options
`-mREV:MSG'
Can anyone show the practical usage syntax.
cvs admin -m1.2:"This is the new log message for rev 1.2" some.file
--
Larry Jones

You should see me when I lose in real life! -- Calvin
Harry Putnam
2011-10-16 03:40:11 UTC
Permalink
Post by Larry Jones
Post by Harry Putnam
I see a section in the manual under
Administrative options
`-mREV:MSG'
Can anyone show the practical usage syntax.
cvs admin -m1.2:"This is the new log message for rev 1.2" some.file
Ahh, good thanks. Just what I was after

Larry Jones
2011-10-13 19:35:02 UTC
Permalink
Post by Amit Uttamchandani
However, it sounds like you want to change messages that are already
logged in CVS. All this information is stored in your CVS repository, in
the ",v" files. These are just text files, so you can edit them.
That is an *EXTREMELY* bad idea. Unless you're intimately familiar with
the CVS file format and either never make mistakes or don't care about
corrupting your repository, you should *NEVER* hand edit the files
unless there's absolutely no other choice.
--
Larry Jones

What a waste to be going to school on a morning like this. -- Calvin
Amit Uttamchandani
2011-10-13 20:20:30 UTC
Permalink
Post by Larry Jones
Post by Amit Uttamchandani
However, it sounds like you want to change messages that are already
logged in CVS. All this information is stored in your CVS repository, in
the ",v" files. These are just text files, so you can edit them.
That is an *EXTREMELY* bad idea. Unless you're intimately familiar with
the CVS file format and either never make mistakes or don't care about
corrupting your repository, you should *NEVER* hand edit the files
unless there's absolutely no other choice.
Agreed ;)

In my case, I had to edit a bunch of these *,v* files by hand when
migrating over from CVSNT to GNU CVS.

Thanks,
Amit
Arthur Barrett
2011-10-14 00:48:45 UTC
Permalink
Amit,
Post by Amit Uttamchandani
In my case, I had to edit a bunch of these *,v* files by hand when
migrating over from CVSNT to GNU CVS.
CVSNT runs on most platforms (CVSNT is NoT CVS) including unix/linux.
There is even a standard debian package.

Under no circumstances ever should the RCS files be manually edited (for
CVS or CVSNT).

By removing information from the RCS file you are simply removing
information from your repository history - that information was valuable
and cannot be replaced.

Regards,


Arthur Barrett
Amit Uttamchandani
2011-10-14 01:45:43 UTC
Permalink
Post by Arthur Barrett
Amit,
Post by Amit Uttamchandani
In my case, I had to edit a bunch of these *,v* files by hand when
migrating over from CVSNT to GNU CVS.
CVSNT runs on most platforms (CVSNT is NoT CVS) including unix/linux.
There is even a standard debian package.
CVSNT package is no longer maintained by Debian [1] since it is no
longer "Free Software."

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597869
Post by Arthur Barrett
Under no circumstances ever should the RCS files be manually edited (for
CVS or CVSNT).
By removing information from the RCS file you are simply removing
information from your repository history - that information was valuable
and cannot be replaced.
In this case, the *,v* file was useless since rlog failed to parse the
information. CVSNT was adding some information that caused rlog to fail
to parse the information. Specifically there is a *filename* keyword
that CVSNT adds, rlog fails to parse this correctly if the filename
keyword refers to a filename that has an "_" or -" in the name. As far
as I could tell this provided no useful information to GNU CVS so I
removed this keyword from the *,v* file.

Thank you,
Amit
Arthur Barrett
2011-10-14 10:32:35 UTC
Permalink
Amit,
Post by Amit Uttamchandani
CVSNT package is no longer maintained by Debian [1] since it is no
longer "Free Software."
Thanks for the link.

Of course it's still free software. Debian were maintaining their own
fork, and had their own copy of the code. Nothing changed for them and
their code had all the security udpates.
Post by Amit Uttamchandani
In this case, the *,v* file was useless since rlog failed to parse the
information.
CVSNT supplied it's own rlog for this reason.
Post by Amit Uttamchandani
Specifically there is a *filename* keyword
That'd be the name of the file at each revision. If you rename a file
(which CVSNT can do, but CVS cannot) then it's important to know the
name at each revision. By removing information from the RCS file you
are simply removing information from your repository history - that
information was valuable and cannot be replaced.

Regards,


Arthur Barrett
Amit Uttamchandani
2011-10-14 17:13:50 UTC
Permalink
Post by Arthur Barrett
Amit,
Post by Amit Uttamchandani
CVSNT package is no longer maintained by Debian [1] since it is no
longer "Free Software."
Thanks for the link.
Of course it's still free software. Debian were maintaining their own
fork, and had their own copy of the code. Nothing changed for them and
their code had all the security udpates.
Thanks for clarifying. Do you happen to have the link for the Debian
CVSNT package?
Post by Arthur Barrett
Post by Amit Uttamchandani
In this case, the *,v* file was useless since rlog failed to parse the
information.
CVSNT supplied it's own rlog for this reason.
Aah, understood.
Post by Arthur Barrett
Post by Amit Uttamchandani
Specifically there is a *filename* keyword
That'd be the name of the file at each revision. If you rename a file
(which CVSNT can do, but CVS cannot) then it's important to know the
name at each revision. By removing information from the RCS file you
are simply removing information from your repository history - that
information was valuable and cannot be replaced.
Understood. So in a case like ours where we had to migrate from CVSNT to
CVS, what could have been a better option? If CVS doesn't support the
*keyword* directive then I guess it was ok to remove it from the ,v file
right?

Thank you for the valuable information,
Amit
Loading...