Fix timing issues on FileNode_Build.
This commit is contained in:
@@ -496,23 +496,19 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
|
||||
FileNode fileNodeChild;
|
||||
|
||||
// Check directory data
|
||||
if (fileNode->status == FileStatus_Deleted) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
fileNode->fileTime = Time_GetCurrentTime();
|
||||
}
|
||||
if (!(fileNode->flags & FileFlag_Directory)) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
fileNode->flags |= FileFlag_Directory;
|
||||
fileNode->flags &= ~FileFlag_Normal;
|
||||
}
|
||||
fileTime = FileTime_Get(filePath);
|
||||
if (fileTime != fileNode->fileTime) {
|
||||
if (fileNode->status == FileStatus_Deleted) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
if (fileTime < 0 || fileNode->fileTime > fileTime) {
|
||||
fileNode->fileTime = Time_GetCurrentTime();
|
||||
}else{
|
||||
fileNode->fileTime = fileTime;
|
||||
}
|
||||
if (fileTime != fileNode->fileTime) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
fileNode->fileTime = fileTime;
|
||||
}
|
||||
|
||||
// Mark childs for review
|
||||
@@ -536,10 +532,6 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
|
||||
}
|
||||
} else {
|
||||
// Comprar datos de los ficheros
|
||||
if (fileNode->status == FileStatus_Deleted) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
fileNode->fileTime = Time_GetCurrentTime();
|
||||
}
|
||||
if (!(fileNode->flags & FileFlag_Normal)) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
fileNode->flags |= FileFlag_Normal;
|
||||
@@ -550,13 +542,13 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
fileNode->size = size;
|
||||
}
|
||||
if (fileTime != fileNode->fileTime) {
|
||||
if (fileNode->status == FileStatus_Deleted) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
if (fileTime < 0 || fileNode->fileTime > fileTime) {
|
||||
fileNode->fileTime = Time_GetCurrentTime();
|
||||
}else{
|
||||
fileNode->fileTime = fileTime;
|
||||
}
|
||||
if (fileTime != fileNode->fileTime) {
|
||||
fileNode->status = FileStatus_Modified;
|
||||
fileNode->fileTime = fileTime;
|
||||
}
|
||||
if (fileNode->status == FileStatus_Modified) {
|
||||
fileNode->flags &= ~FileFlag_HasCRC;
|
||||
|
||||
@@ -18,16 +18,10 @@ echo:Uno> %testDir%.A\Uno.txt
|
||||
echo:Dos> %testDir%.A\Dos.txt
|
||||
..\filesync.exe sync %testDir%.A %testDir%.B >> %testDir%.txt
|
||||
|
||||
..\filesync.exe read %testDir%.A/nodesFile.fs >> %testDir%.txt
|
||||
..\filesync.exe read %testDir%.B/nodesFile.fs >> %testDir%.txt
|
||||
|
||||
md %testDir%.A\dirUno
|
||||
move %testDir%.A\Uno.txt %testDir%.A\dirUno\Uno.txt >NUL
|
||||
..\filesync.exe sync %testDir%.A %testDir%.B >> %testDir%.txt
|
||||
|
||||
..\filesync.exe read %testDir%.A/nodesFile.fs >> %testDir%.txt
|
||||
..\filesync.exe read %testDir%.B/nodesFile.fs >> %testDir%.txt
|
||||
|
||||
ping 127.0.0.1 -n 2 > nul
|
||||
|
||||
move %testDir%.A\dirUno\Uno.txt %testDir%.A\Uno.txt >NUL
|
||||
|
||||
Reference in New Issue
Block a user