NAME
VCS::CMSynergy::Changes - List of changes to VCS::CMSynergy
CHANGES
Changes in Version 1.14
Implement tied hash interface for VCS::CMSynergy::Object.
Now you can get/set attributes by treating an V::C::Object like a hash.
Since this requires every V::C::Object to hold a reference to the sesssion,
this is only available if Scalar::Util is detected at runtime (so we
can weaken the referemce).
Changes in Version 1.13 (not released)
Implement get_releases()/set_releases() for manipulating the release table.
Implement property().
Fix 'ye olde text_editor trick on Windows (checked on NT 4.0 and XP):
CM Synergy seems unable to execute "shell" builtins (like "copy"),
use "xcopy" instead.
Make VCS::CMSynergy work on cygwin (even UseCoprocess works).
This requires Filesys::CygwinPaths to translate Cygwin path names
(e.g. as returned by File::Temp::tempfile()) to Windows path names.
Changed record/field separators (used internally by query/finduse/history)
from \cD/\cG to \cA/\cD, but someone will probably succeed in
entering these into some attribute. Anyway, avoid \x1C-\x1E as
they are used by Change Synergy in some attribute of "problem".
Add a hint on the usage of new(ui_database_dir => ...).
Merge pod entries for query_arrayref/query_hashref and
history_arrayref/history_hashref.
Fix brown paper bag errors in set_attribute (wrong usage check)
and set_error (handling of HandleError).
Changes in Version 1.12
INCOMPATIBLE CHANGE: attribute() has been replaced by two methods
get_attribute() and set_attribute().
attributes() has been renamed to list_attributes().
Move VCS::CMSynergy hash keys CCM_HOME, CCM_ADDR and CCM_INI_FILE
into sub hash env. Change ccmexec to pass it a hash ref with keys/values
to temporarily add to %ENV instead of passing CCM_HOME.
Factor ccm() into _ccm() (does all the work except error handling) and
make ccm() a simple wrapper for it. Get rid of IgnoreError and
use _ccm for all "internal" calls.
Document "HandleError" and set_errror().
Pod: change all method "=item"s to "=head2"; the man page looks slightly
worse, but the HTML rendering is much better.
CMSynergy/users.pl: renamed to CMSynergy/update_users.pm.
Implemented create_attribute(), delete_attribute(), and copy_attribute().
Changes in Version 1.10
Document types of options for new().
Document option `KeepSession' for new().
Mention correct way to explicity stop a session.
Implement ccm_addr().
Make database() lazy.
Changes in Version 1.09 (not released)
Make it work for ancient Continuus 4.5 (fixes #1681):
- `ccm ps -rfc_address ADDR' doesn't find the process if host part of ADDR
is given as name (instead of an IP address); esp. this breaks
`ccm ps -rfc_address $ccm->{CCM_ADDR}' - used in new()
- different error messages from `ccm finduse' if object is not in use
- adjust test cases
Correctly handle (Raise|Print|Handle)Error when ps() in new() fails.
Add 'remote_client => 1' to options for new() (causes `-rc' for `ccm start').
Changes in Version 1.08
INCOMPATIBLE CHANGE: The pseudo keyword "finduse" in query_arrayref()
and query_hashref() does not return a list of project references
any more. It now returns a hash which maps proj_vers to relative_path.
Similarly, the rows returned by finduse() have changed from
[ $description, @project_references ]
to
[ $description, \%usage_map ].
Converted findpath() to use new finduse(), adjusted t/04finduse.t.
Convert tests to use Test::More.
Makefile.PL: don't require Memoize anymore, just recommend it.
Windows: will sleep(2) _after_ "ccm stop" and _before_ unlinking
files_to_unlink (because they may still be "busy" - probably "ccm stop"
returns _before_ CM Synergy really has ceased operation).
Fix problem with set_error() that's probably a perl bug
(at least for 5.6.1, fixed in 5.8.1, cf #9998, #9739 on rt.perl.org):
sub foo
{
my @x = (2, 1, 0); # last elem must be false
return @x if wantarray and @x;
print "OOPS\n";
}
my @foo = foo;
This will print "OOPS". Somehow wantarray seems to force list context
onto the right-hand side of "and" - @x will thus evaluate to its
last element.
Changes in Version 1.07
INCOMPATIBLE CHANGE: The 3-arg form of attribute() does not return
the old value any more.
Document 3-arg form of attribute().
When setting attributes, cope with arbitrary types by looking
up the super_type recursively until one of the well known types
(for which we "just know" whether they need the "text_editor"
trick )is found.
Kludge for annoying `Security violation...' warning on Windows
(thanks to Peter Kreuz for the explanation what's goin' on).
Rewritten output parsing for history_*().
Fix typo in types().
Add error() and ccm_command() calss/instance methods, prefer
them in docs over explicit $ccm->{error} or $VCS::CMSynergy::error.
Add "ui_database_dir" option to new().
Version 1.05
The Great Renaming: s/CMSyngery/VCS::CMSynergy/g.
First version uploaded to CPAN.
Version 1.04
Split out CMSynergy::Users.pm.
Fix bug with multi-line valued attributes in query_* functions.
Rewritten output parsing for query_*() and finduse().
Make "ccm->set('foo', undef) " execute "ccm unset foo".
Fix bug reported by Jürgen Schorer: CCM_HOME not passed down to "ccm start".
Rewritten test cases.
Make tests work under NT and Cygwin.
Split out (and currently don't distribute) CMSynergy::Traversal.pm.
Version 1.02
Fill $VERSION from CM Synergy version.
Add LICENSE in preparation for CPAN upload.
Version 1.01
Fix exit code of ccm() when using coprocess.
Version 1.00
"ccm ps" can't be called interactively.
Make set_error callable as class method.
Convenience function: CMObject::proj_vers.
Version 0.98
Downgrade required Perl version to 5.6.0 (untested).
Use Memoize.pm if available, otherwise memoization is a no-op.
Version 0.97
Fix problems when outer SIGCHLD handler is present.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 153:
Non-ASCII character seen before =encoding in 'Jürgen'. Assuming CP1252