Provided by: kgb-client_1.60-1_all
NAME
App::KGB::Change - a single file change
SYNOPSIS
my $c = App::KGB::Change->new( { action => "M", prop_change => 1, path => "/there" } ); print $c; my $c = App::KGB::Change->new("(M+)/there");
DESCRIPTION
App::KGB::Change encapsulates a single path change from a given change set (or commit). App::KGB::Change overloads the "" operator in order to provide a default string representation of changes.
FIELDS
action (mandatory) The action performed on the item. Possible values are: M The path was modified. A The path was added. D The path was deleted. R The path was replaced. path (mandatory) The path that was changed. prop_change Boolean. Indicated that some properties of the path, not the content were changed.
CONSTRUCTOR
new ( { initial values } ) More-or-less standard constructor. It can take a hashref with keys all the field names (See ). Or, it can take a single string, which is de-composed into components. See for examples.
METHODS
as_string() Return a string representation of the change. Used by the "" overload. The resulting string is suitable for feeding the constructor if needed.
CLASS METHODS
detect_common_dir("changes") Given an arrayref of changes (instances of APP::KGB::Change), detects the longest path that is common to all of them. All the changes' paths are trimmed from the common part. Example: foo/b foo/x foo/bar/a would return 'foo' and the paths would be trimmed to b x bar/a