Skip to content

Commit dfa563e

Browse files
committed
implement fix recursive flag
1 parent 513f3c6 commit dfa563e

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/Commands/Files/CopyFileMetadata.cs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -168,31 +168,32 @@ protected override void ExecuteCmdlet()
168168
else errored++;
169169
}
170170

171-
// Process files
172-
if (sourceFolder.Files != null && sourceFolder.Files.Count > 0)
171+
// When Recursive is enabled, process files and subfolders; otherwise only the folder item itself
172+
if (Recursive)
173173
{
174-
foreach (var sourceFile in sourceFolder.Files)
174+
// Process files in the current folder
175+
if (sourceFolder.Files != null && sourceFolder.Files.Count > 0)
175176
{
176-
var src = UrlUtility.Combine(sourceFolderUrl, sourceFile.Name);
177-
var dst = UrlUtility.Combine(targetFolderUrl, sourceFile.Name);
178-
var r = SyncFileMetadata(src, dst, sourceContext, targetContext);
179-
if (r == SyncResult.Success) processed++;
180-
else if (r == SyncResult.Skipped) skipped++;
181-
else errored++;
177+
foreach (var sourceFile in sourceFolder.Files)
178+
{
179+
var src = UrlUtility.Combine(sourceFolderUrl, sourceFile.Name);
180+
var dst = UrlUtility.Combine(targetFolderUrl, sourceFile.Name);
181+
var r = SyncFileMetadata(src, dst, sourceContext, targetContext);
182+
if (r == SyncResult.Success) processed++;
183+
else if (r == SyncResult.Skipped) skipped++;
184+
else errored++;
185+
}
182186
}
183-
}
184187

185-
// Process subfolders recursively if Recursive is enabled
186-
if (Recursive)
187-
{
188+
// Process subfolders recursively
188189
foreach (var sourceSubfolder in sourceFolder.Folders)
189190
{
190191
if (sourceSubfolder.Name.StartsWith("_")) continue; // Skip system folders
191192

192193
var sourceSubfolderUrlCombined = UrlUtility.Combine(sourceFolderUrl, sourceSubfolder.Name);
193194
var targetSubfolderUrl = UrlUtility.Combine(targetFolderUrl, sourceSubfolder.Name);
194195
var subResults = SyncFolderMetadataRecursive(sourceSubfolderUrlCombined, targetSubfolderUrl, sourceContext, targetContext);
195-
196+
196197
processed += subResults.Processed;
197198
skipped += subResults.Skipped;
198199
errored += subResults.Errored;

0 commit comments

Comments
 (0)