On 6/7/05, Vincent Massol <[EMAIL PROTECTED]> wrote:
> 
> 
> > -----Original Message-----
> > From: Henri Yandell [mailto:[EMAIL PROTECTED]
> > Sent: mardi 7 juin 2005 15:24
> > To: Vincent Massol
> > Cc: Cactus Developers List
> > Subject: Re: [VOTE] Migrating to Subversion
> >
> > Grep and I are unable to find the cvs task being used in the Cactus
> > build (at least for the top three directories).
> > Are we talking about the cvschangelog task in documentation/build.xml?
> 
> Yes that's the one I had in mind.

I posted to the Ant list to see if anyone had solved this before, but sadly not.

However, it seems to me that it might be solveable. One of the svn
features is that you can get the log in xml format, so an old cvs
changelog in xml goes from:

<changelog>
        <entry>
                <date>2005-05-08</date>
                <time>11:04</time>
                <author><![CDATA[Vincent Massol]]></author>
                <file>
                        <name>downloads.xml</name>
                        <revision>1.17</revision>
                </file>
                <msg><![CDATA[Improved download link that goes
directly to the Cactus download page on Jakarta.]]></msg>
        </entry>
</changelog>

<log>
<logentry
   revision="111117">
<author>vmassol</author>
<date>2005-05-08T11:04:00.000000Z</date>
<paths>
<path action="M">/full/path/to/downloads.xml</path>
</paths>
<msg>Improved download link that goes directly to the Cactus download
page on Jakarta.</msg>
</logentry>
</log>


or something much like that. The obvious differences being a lack of
CDATA and the fact it'll use the login name and not the user's full
name (via /etc/passwd I presume).

The first is probably not a problem, I imagine SVN correctly escapes
its output, and the second seems to be okay as Cactus doesn't show
that data on their changes page
(http://jakarta.apache.org/cactus/changes.html).

So changing the cvschangelog task to be an exec of 'svn log -v --xml',
and modifying the xsl in
documentation/docs/skins/jakarta.apache.org/stylesheets/document2html.xsl
to handle the different style of input, could do the trick.

Still not a piece of cake. Splitting the date, throwing away the
unnecessary parts of the path and handling commits that contain more
than one file are all issues to be handled, and in a functional
language like XSL, they can be oddly painful.

Also, there's no obvious way to exclude the 5 excluded files:

        <exclude name="**/navigation.xml"/>
        <exclude name="sitemap.xml"/>
        <exclude name="participating/todo.xml"/>
        <exclude name="changes.xml"/>
        <exclude name="**/cvslog.xml"/>

Looks like Stefan's svnchangelog task might take care of the 3 issues
I list, and should handle excludes as it's based on the Ant fileset
system.

I'll mail Ant to find out when that's likely to find its way into an
Ant release.

An obvious other suggestion is to comment out the cvs-changelog table
for the site between the period of moving to svn and the period of a
task existing to easily turn it back on again. Or switch to using the
changes.xml style for the site as well and managing it by hand.
Neither highly desirable, but thought I'd bring them up.

Hen

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to