anchor.diff:    LazFileUtils, FIleUtil, LCLIntf;
   
   type
  -  TList = array of String;
  +  TDirsArray = array of String;
  +
  +  { TCopyDir }
  +
     TCopyDir = class
     private
       _dirSource, _dirTarget: String;
  
positive.code:     _fs: TFileSearcher;
      _log: TStringList;
  
      _files: TList;
      _directories: TList;
  
      _copied: Boolean;
      _dirsCreated: Boolean;
      _enumerated: Boolean;
  
      _copyingDone: TList;
      _copyingFailed: TList;
      _creatingDone: TList;
      _creatingFailed: TList;
  
      _preserveFileDates: Boolean;
      _preserveAttributes: Boolean;
  
negative.code:   Result := true;
  end;
  
  function TCopyDir._SourceToTarget(const aTarget: String): String;
  begin
    Result := IncludeTrailingPathDelimiter(self._dirTarget) + Copy(aTarget,
      Length(self._dirSource) + 1, Length(aTarget));
  