Provided by: kgb-client_1.58-1_all bug

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