예제 #1
0
        /// <summary>
        /// File has come from a previous file.
        /// </summary>
        /// <param name="oldFullPath"></param>
        /// <returns></returns>
        public RenamedFileContent RenamedFrom(string oldFullPath)
        {
            var fileContent = new RenamedFileContent();

            fileContent.RenamedFrom(oldFullPath);
            UpdateVersionNumber(fileContent);
            fileContent.FileId = Id;
            return(fileContent);
        }
예제 #2
0
        void fileSystemWatcher_Renamed(object sender, RenamedEventArgs e)
        {
            Logger.Info("Renamed {0} to {1}", e.OldFullPath, e.FullPath);
            // TODO: Handle folder name change, all files under it neeed to be updated.

            // Mark the old file as renamed.
            // Start a new file entry, at the version of the old one.
            // Point the two files at each other.

            if (!_filterHelper.IsMatch(e.OldFullPath))
            {
                ProjectFile        oldFile        = LoadOrCreateFile(e.OldFullPath);
                ProjectFile        newFile        = LoadOrCreateFile(e.FullPath);
                RenamedFileContent oldFileContent = oldFile.RenamedTo(e.FullPath);
                RenamedFileContent newFileContent = newFile.RenamedFrom(e.OldFullPath);

                _repository.Save(oldFile);
                _repository.Save(newFile);
                _repository.Save(oldFileContent);
                _repository.Save(newFileContent);
            }
        }