You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Andrew May <am...@ingenta.com> on 2001/07/02 17:52:28 UTC

[Proposal] Extend optional PVCS tasks

Hi,

Having used the optional Pvcs task to perform a large GET from our PVCS 
repository on Unix, and found it a lot faster than using the Windows GUI 
(unsurprisingly), I'm interested in extending the tasks to include 
versioning (currently very slow for us using the GUI, and a bit error 
prone), and possibly using promotion groups.

Not having developed for Ant before, and not being that familiar with 
the coding conventions used I could use some advice in how to proceed.

In all these cases we're dealing with the bulk of our repository (the 
parts that are part of the application, not requirement docs etc.), and 
so the mechanism used currently for the GET where a list of files is 
generated using the PVCS pcli command and then processed using 
"<command> @tmpfile" is appropriate. We're not really interested in 
using it to checkout/in individual files because we've got the GUI. 
However, I appreciate that others may want to add tasks for these things.

I had a few thoughts on how to structure this:

1) Extend the existing Pvcs task to have a "command" argument, which 
could be "Get", "Version", "Promote" etc. This would make it a bit like 
the CVS task, but has the problem that some arguments would not make 
sense for a particular command. It also might get a bit messy!

2) Create PvcsGet, PvcsVersion, PvcsPromote tasks and deprecate Pvcs 
task. Split out the common functionality which is mostly in getting the 
list of files from the repository using the plci command (Pcli.java?), 
and then just have the appropriate arguments for each task (although a 
lot of these would be common).

3) Keep the Pvcs task with the common arguments and have nested elements 
for the different commands. This would probably be more difficult to 
write :), and in reality it would be a bit like 2) with the Pvcs task 
doing the list of files and the command elements (with a PvcsCommand 
interface or something) doing the get/version/promote. I'm concerned 
that the structure of the tags would be reflecting the underlying PVCS 
commands, and also that this might not support tasks for individual 
files very well.

Personally I favour 2).

I would also like to incorporate any fixes/improvements suggested to 
what's already there, and add more arguments to support more of the 
command line options (like quiet output).

Thanks in advance,

Andrew


Re: [Proposal] Extend optional PVCS tasks

Posted by Glenn McAllister <gl...@somanetworks.com>.
Andrew May wrote:

> Not having developed for Ant before, and not being that familiar with
> the coding conventions used I could use some advice in how to proceed.

See http://jakarta.apache.org/site/source.html for starters; you will be
most interested in the "Patches" section.  As for the coding conventions,
Turbine has explicitly defined their standards at
http://jakarta.apache.org/turbine/code-standards.html , while in general we
haven't.  The rule of thumb is, follow the standard in the existing file
because it is *really* irritating to see style changes in the same file.
The only hard and fast rules are:

1. No tabs, only spaces.
2. 4 spaces per "tab".

You know, looking at Turbine's conventions, I have to admit I like them.  Do
the committer's have any strong feelings about adopting a consistent
standard?  Or more accurately, stating what our defacto standard is?

> 1) Extend the existing Pvcs task to have a "command" argument, which
> could be "Get", "Version", "Promote" etc. This would make it a bit like
> the CVS task, but has the problem that some arguments would not make
> sense for a particular command. It also might get a bit messy!
>
> 2) Create PvcsGet, PvcsVersion, PvcsPromote tasks and deprecate Pvcs
> task. Split out the common functionality which is mostly in getting the
> list of files from the repository using the plci command (Pcli.java?),
> and then just have the appropriate arguments for each task (although a
> lot of these would be common).
>
> 3) Keep the Pvcs task with the common arguments and have nested elements
> for the different commands. This would probably be more difficult to
> write :), and in reality it would be a bit like 2) with the Pvcs task
> doing the list of files and the command elements (with a PvcsCommand
> interface or something) doing the get/version/promote. I'm concerned
> that the structure of the tags would be reflecting the underlying PVCS
> commands, and also that this might not support tasks for individual
> files very well.
>
> Personally I favour 2).

As do I, so I'd encourage you down that path.

> I would also like to incorporate any fixes/improvements suggested to
> what's already there, and add more arguments to support more of the
> command line options (like quiet output).

Submit patches, and hopefully someone will have time to check them out.

Glenn McAllister
SOMA Networks, Inc.