[cvsnt] CVSNT Broken! taginfo - Additional Info
Joshua Skains
jskains at deltad.com
Thu Mar 24 17:16:43 GMT 2005
> Which script are you referring to?
My own scripts. Just for testing on 2.0.51d, I did this in PERL:
while (<STDIN>)
{
print $_;
}
In several versions of CVSNT, this produces "File Version" of all the files
in that directory being processed.
So in 2.5.x series, for example, the above script would produce
file1.txt 1.1
file2.txt 1.5
etc. etc.... In version 2.0.51d, it produces nothing.
This is of course different in GNU CVS as they pass all file/version pairs
on the command line. This caught be a long time ago off guard when I first
tried to get CVSNT to work.
> Depends on what you mean by "so much broken"...
> I think that Tony's focus is on the cvs functionality rather than on
> the scripting. So he actually runs quite substantial tset suites
> against a test release before it is published. Then a rather long time
> of stabilization is spent with feedback from cutting edge users after
> a candidate for release has been made. Only thereafter will a release
> be made.
Well, it seems odd that such a core functionality of CVS was overlooked.
Some of us are in large production environments and we have to control
things. I am working for a large firm that currently has GNU CVS servers. I
need to move to CVSNT, but I need to be able to get the same functionality
that GNU CVS provides.
The biggest fustration, for me at least, is the documentation. It's
scattered. And it doesn't cover any of these issues. There is NOTHING that
describes how the STDIN data is handed. It describes NOTHING about the way
to handle taginfo. I, for example, had to figure out through trial and error
that I had to escape the "\" character to put in paths.
IE:
ALL c:\\perl\\bin\\perl.exe -S c:\\scripts\\tag.pl
Nothing in the docs really helps you.
> Most of what CVSNT does in recent releases compared to say 2.0.41 is
> feature adding. The basic stuff is the same as always. So what is
> breaking is probably stuff that is not even in the GNU CVS.
That's not true. The design of taginfo was to allow you to add event
scripts. It has ALWAYS been designed so that you can error out at a level
other than 0 and CVSNT would not allow that tag to be applied. It's broke in
a RELEASE version. And it seems it HAS been broke in MANY versions after
2.0.51d. This stuff is all in GNU CVS.
> I don't know what this is, really... (spacing???)
When you execute a tag in this case, you can output results that GNU CVS and
CVSNT sends to the client. (We use pserver at the moment, hope to work more
with SSPI). So the user can see output like:
Authenticating Tag
-------------------
Tag Passes Filter
-------------------
Which is what it would look like in WinCVS connecting to GNU CVS. When you
execute the same thing on a CVSNT server, you get
Authenticating Tag
-------------------
Tag Passes Filter
-------------------
Someone claimed this was a problem with my script. I don't think so.
print "Hello!\n";
print "Goodbye!\n";
produces
Hello!
Goodbye
on CVSNT. If I remove the \n assuming that the script doesn't need a return
(which I didn't think would work)
print "Hello!";
print "Goodbye!";
Produces
Hello!Goodbye!
So basically CVSNT is inserting an extra line in betwen the output for
unknown reasons.
> I am sorry to say that the branch tag removal from the loginfo STDIN
> passed me by during the many tests prior to 2.5.01 release, but it is
> a thing that does not matter for the versioning system, just for some
> emails...
I'm not familar with this one. I am more concerned about taginfo.
Thanks,
JMS
More information about the cvsnt
mailing list