cvsweb will not work like before :(
scop at FreeBSD.org
Sat Oct 16 04:32:23 PDT 2004
On Fri, 2004-10-15 at 00:12, Jon Noack wrote:
> > For example in my PHP script I have the following printf() like string
> > variable:
> > $cvswebformat2="http://webcvs.kde.org/cgi-bin/cvsweb.cgi/~checkout~/kde-i18n/%s?rev=%s&content-type=text/plain";
> > where first "%s" is like fr/kdeadmin/kcron.po, and second "%s" is branch
> > like KDE_3_3_BRANCH or HEAD.
> Actually, it works fine for "HEAD" or ".". According to the Changelog,
> this functionality was "resurrected" on 2004-04-20. However, other
> branches/tags I tried did not work.
Right. It "works" for HEAD, because the requested tag/branch seems to
be ignored altogether, and the magic revision "." currently results in
-rHEAD being passed to "cvs co".
I already started enhancing the "." revision so that it takes the branch
into account, it seems to work pretty ok here. But there's a catch:
What the above means is that before one can do a "cvs co -p" using a
branch name (ie. -rBRANCH, == "latest on branch BRANCH"), BRANCH needs
to be in CVSROOT/val-tags. "cvs co -p" does not put it there, but "cvs
co" (without -p) does -> someone has to do the latter outside of cvsweb
before it starts to work in it :( Additionally, the error messages from
"cvs co -p" for nonexistent tags/branches are, well, non-obvious. This
is as of cvs 1.11.17.
I think I'll commit this stuff anyway today. If the above bug 211
doesn't get fixed in cvs soonish and this starts to cause problems, I'll
take a look at changing "cvs co" to checkout into a temporary file in
cvsweb, then operating on that instead of directly using the STDOUT from
"cvs co -p". That might not be a bad idea in the first place, BTW.
More information about the freebsd-cvsweb