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:
11
diff-main.go
11
diff-main.go
@@ -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.
|
||||
|
||||
7
diff.go
7
diff.go
@@ -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())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user