1
0
mirror of https://github.com/minio/mc.git synced 2025-11-13 12:22:45 +03:00

diff: Add scanBar for recursive diff

This commit is contained in:
Harshavardhana
2015-11-10 01:58:06 -08:00
parent ebf96ea853
commit 8f11c67956
2 changed files with 18 additions and 0 deletions

View File

@@ -97,9 +97,20 @@ func mainDiff(ctx *cli.Context) {
newFirstURL := stripRecursiveURL(firstURL)
for diff := range doDiffMain(newFirstURL, secondURL, isURLRecursive(firstURL)) {
if diff.Error != nil {
// Print in new line and adjust to top so that we don't print over the ongoing scan bar
if !globalQuietFlag && !globalJSONFlag {
console.Eraseline()
}
}
fatalIf(diff.Error.Trace(newFirstURL, secondURL), "Failed to diff "+firstURL+" and "+secondURL+".")
printMsg(diff)
}
// Print in new line and adjust to top so that we don't print over the ongoing scan bar
if !globalQuietFlag && !globalJSONFlag {
console.Eraseline()
}
console.Println(console.Colorize("DiffMessage", "Done."))
}
// doDiffMain runs the diff.

View File

@@ -169,6 +169,10 @@ func diffFolders(firstClnt, secondClnt client.Client, outCh chan<- diffMessage)
//
// 4: diff(d1..., d2) -> []diff(d1/f, d2/f) -> VALID.
func diffFoldersRecursive(firstClnt, secondClnt client.Client, outCh chan<- diffMessage) {
var scanBar scanBarFunc
if !globalQuietFlag && !globalJSONFlag { // set up progress bar
scanBar = scanBarFactory()
}
recursive := true
firstListCh := firstClnt.List(recursive, false) // Copy first list channel.
for firstContentCh := range firstListCh {
@@ -197,5 +201,8 @@ func diffFoldersRecursive(firstClnt, secondClnt client.Client, outCh chan<- diff
outCh <- *diffMsg
continue
}
if !globalQuietFlag && !globalJSONFlag { // set up progress bar
scanBar(firstContent.URL.String())
}
}
}