public override bool Equals(OperationArgumentsBase args)
        {
            SyncOperationArguments syncArgs = (SyncOperationArguments)args;

            return(DestinationDirectory == syncArgs.DestinationDirectory &&
                   SourceDirectory == syncArgs.SourceDirectory);
        }
        public SyncOperation(SyncOperationArguments arguments, RepositoryArgumentsBase destinationDirectory, RepositoryArgumentsBase sourceDirectory)
        {
            Contract.Requires(arguments != null);
            Contract.Requires(sourceDirectory != null);
            Contract.Requires(destinationDirectory != null);

            this.arguments            = arguments;
            this.sourceDirectory      = sourceDirectory;
            this.destinationDirectory = destinationDirectory;
        }