Example #1
0
        }         // proc CopyItem

        #endregion

        #region -- CompareFile, CompareDirectory ------------------------------------------

        private void CompareFile(FileInfo source, FileInfo target)
        {
            if (target.Exists &&
                source.Length == target.Length &&
                Stuff.CompareFileTime(source.CreationTimeUtc, target.CreationTimeUtc) &&
                // Stuff.CompareFileTime(source.LastAccessTimeUtc, target.LastAccessTimeUtc) && is modified during read!
                Stuff.CompareFileTime(source.LastWriteTimeUtc, target.LastWriteTimeUtc))
            {
                return;
            }

            copyStarted = true;
            bar.AddSilentMaximum(source.Length); // update progress
            EnqueueAction(() => CopyItem(source, target));
        }                                        // func CompareFile