The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension ClearCase::Argv.

0.01  Thu Sep  2 17:38:37 1999
	- A simple subclass of the Argv module for cleartool-
	  specific use.

0.10  Tue Nov 16 18:00:33 EST 1999
	- added integration with Argv->ipc_childsafe (allows
	  IPC::ClearTool to be used for speed).

0.12  Wed Dec  8 22:45:07 EST 1999
	- Added hacks required to get $obj->comment method working.
	  This works around a flaw in cleartool quoting rules such that
	  there's no way to specify a multiline comment on the
	  command line, in interactive mode. The workaround is to
	  now use $obj->comment("my multi-\nline comment here").
	  This hack is only needed in "ipc mode" but is supported
	  in regular mode as well for consistency.

0.13 Wed Dec 22 13:12:37 EST 1999
	- New README.html/pod overview document.

0.14 Tue Jan  4 10:20:15 EST 2000
	- Some syntax mods to track Argv cleanup.

0.15 Mon Jan 10 11:33:07 EST 2000
	- First public release.

0.16 Fri Jan 14 17:45:23 EST 2000
	- Added ccqv() alias to ccqx() for consistency.

0.17 Sun Jan 16 21:19:19 EST 2000
	- Clean up, add comments, more POD sections.
	- Track similar cleanups in Argv 0.46.

0.18 Tue Jan 18 08:28:38 EST 2000
	- Improved behavior in setuid/root case, cleaned up PATH setting

0.19 Tue Feb  1 09:51:54 EST 2000
	INCOMPATIBLE CHANGES:
	- Renamed ccsystem() et al to ctsystem() et al.
	  Apologies to anyone inconvenienced but my hope is that
	  the module is still young enough that nobody's depending
	  heavily on it. The new names are more in line with their
	  semantics (they prepend 'cleartool') and this frees up future
	  namespace for possible 'mtsystem()' or whatever.
	- Renamed 'systemxargs' to 'syxargs'.
	- Renamed 'pathnorm' to 'inpathnorm', and added
	  an 'outpathnorm' method as well.
	- Renamed 'cmd' method to 'argv' (to avoid confusion
	  with the $self->ipc_cleartool->cmd() method).
	OTHER CHANGES:
	- Added ->syfail and ->qxfail attributes.
	- Allow hashref attr specifiers to have a leading '-'.
	- Modified the ipc_cleartool method to return the underlying
	  ChildSafe object when called with no args and a non-void context.

0.20 Wed Feb  2 14:53:50 EST 2000
	- Cleaned up ipc_cleartool/Win32 error handling from COM object.

0.21 Thu Feb 10 22:54:32 EST 2000
	- Fixed typo in previous (affected only 'comment' method).
	- Fixed 'comment' method to stop piling up -cq flags.

0.23 Wed May 31 15:43:08 EDT 2000
	- Bugfix: allow single-string commands to manipulate
	  files matching /.*cleartool.*/ without it being mistaken
	  for a command prefix.
	- Fixed spurious warning.

0.24 Fri Aug  4 14:37:07 EDT 2000
	- Changed the test script to abort more gracefully (exit 0)
	  if not run within a VOB.
	- Require Argv 0.53 (no particular reason).

0.25 Sat Dec  9 23:16:25 EST 2000
	- Scripts in ./examples had drifted out of alignment with module,
	  as reported by Martina Riedel.

0.26 Fri Apr  6 11:24:16 EDT 2001
	- Minor improvements to documentation.

----------------------------------------------------------------------------

1.00 Sat Aug 25 10:14:16 EDT 2001
	= Test Env: Solaris8/Win2KSP2/Perl5.6/CC4.2
	- Recognizing that the API has reached maturity,
	  I've moved the version to indicate a released state.
	  I'll try hard to stay compatible with 1.00 in
	  subsequent releases.

1.02 Tue Sep 25 11:16:37 EDT 2001
	- Subclass Argv->outpathnorm attribute (to change \ to / after @@).
	- Removed stdopts() backward compatibility alias

1.06 Fri Dec 21 07:50:06 EST 2001
	= Test Env: Solaris8/Win2KSP2/Perl5.6.1/CC5.0
	- Added support for CtCmd.
	- Require use of Argv 1.06 since there are a couple
	  significant bugfixes there.

1.07 Sun Jan 13 22:24:55 EST 2002
	- Work around the spurious "bad free" warning emitted by CtCmd
	  (not clear whether the bug is in Perl, CtCmd, or Solaris
	  but in any case we suppress it here with a scoping hack).

1.08 Fri Apr 12 12:43:19 EDT 2002
	- Added ->purpose method subclass (see Argv 1.08+ PODs).
	  Extends Argv->purpose to allow a value of 'auto'.
	- The CtCmd module (see) was renamed to ClearCase::CtCmd,
	  necessitating a renaming of its uses here.

1.09 Mon Apr 15 07:24:35 EDT 2002
	- Fixed a versioning typo. The previous version was incorrectly
	  requiring a version of 'Argv' (1.08) which wasn't yet
	  released. This was just a finger fumble.

1.10 Sun Apr 21 12:22:31 EDT 2002
	- The integration of ClearCase::Argv and ClearCase::CtCmd
	  didn't work with ClearCase::CtCmd 1.00 due to a bug.
	  The bug was fixed in CtCmd 1.01; this version simply
	  indicates that fact by requiring CtCmd 1.01.
	- Added a :functional tag for completeness.

1.11 Wed May  8 16:49:48 EDT 2002
	- Modified quoting code to fix bugs in IPC::ClearTool mode.

1.12 Fri May 10 11:32:52 EDT 2002
	- Added a README for example section
	- Corrected PREREQ_PM to match actual requirements.
	- Functionally identical to 1.11.

1.14 Tue May 21 13:29:20 EDT 2002
	- Added new sample scripts to ./examples/ctcmd area
	- Renamed ->ipc_cleartool() to ->ipc(), leaving an alias
	- Allow automatic switching between ipc and ctcmd modes
	- NEW FEATURE: incorporates ClearCase::CtCmd fallback
	  functionality. If CtCmd is not installed on Windows,
	  ClearCase::Argv is now capable of sending commands
	  directly to CAL. See POD for details.

1.15 Thu Jul 18 12:27:46 EDT 2002
	- Improved default for ->ctcmd() method in void context
	  (now same as specifying 2).
	- Added ->fork-exec method (syntactic sugar to let you make
	  it clear that you aren't using ->ctcmd or ->ipc modes).
	- Fixed bug involving ->stdout(0) and ->ctcmd mode.
	- Added scripts to benchmark fork/exec vs ctcmd modes.

1.16 Tue Sep  3 12:28:43 EDT 2002
	- Improved CtCmd benchmark scripts.

1.17 Sun Apr 27 10:12:51 EDT 2003
	- Added some sample scripts to the ./examples dir.

1.18 Tue Jul 22 10:37:12 EDT 2003
	- Fixed contact data.

1.19 Mon Mar 14 11:10:26 EST 2005
	- Allow ->stdout() and ->stderr() to specify any EXPR
	  which is valid to open(), e.g. ->stdout(">>/tmp/foo");

1.20 Sun May  1 09:53:01 EDT 2005
	- Fixes to deal with new deprecations involving AUTOLOAD
	  in Perl 5.8.*.
	- Removed overrides of system/exec/qv - too confusing and I
	  don't believe they ever worked right or were used by anyone.
	  You can still get the Argv (as opposed to ClearCase::Argv)
	  overrides of these.

1.21 Tue Oct 24 14:38:10 EDT 2006
	- Contributions from Kenneth Olving:
	-   Added overload of the Argv->pipe method
	-   Added test code for ->pipe.
	-   Updated docs.
	- Now requires Argv 1.16.

1.22 Fri Oct 27 10:05:35 EDT 2006
	- Attempt to work around CPAN indexer complaint by
	  tweaking version numbers.

1.23 Sun Oct 29 22:24:53 EST 2006
	- Bugfix to recent ->pipe code changes.

1.24 Wed Dec 27 11:26:52 EST 2006
	- No change - dealing with CPAN versioning mistake.

1.25 Tue Jul 31 16:44:44 EDT 2007
	- Significant change - removed dependence on IPC::ClearTool.
	  Still implements the same IPC interface but now using
	  pure perl. There may be some differences in quoting
	  behavior in edge cases - time will tell. One known but
	  minor incompatibility is that the method formerly
	  known as ->ipc_cleartool() and often abbreviated as
	  ->ipc() is now known only as ->ipc(). The long name
	  is no longer valid. On the other hand, signal handling
	  ought to be more normal because there's no longer any
	  messing around with process groups and sessions as was
	  present in the XS code of IPC::ClearTool.
	- Minor speedup - the ->ctcmd method was loading CtCmd
	  even when used only to check whether CtCmd was in use. It
	  is now loaded only if it plans to use it. This is significant
	  because CtCmd in turn loads a large number of DLLs.