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)
|
newFirstURL := stripRecursiveURL(firstURL)
|
||||||
for diff := range doDiffMain(newFirstURL, secondURL, isURLRecursive(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+"’.")
|
fatalIf(diff.Error.Trace(newFirstURL, secondURL), "Failed to diff ‘"+firstURL+"’ and ‘"+secondURL+"’.")
|
||||||
printMsg(diff)
|
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.
|
// 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.
|
// 4: diff(d1..., d2) -> []diff(d1/f, d2/f) -> VALID.
|
||||||
func diffFoldersRecursive(firstClnt, secondClnt client.Client, outCh chan<- diffMessage) {
|
func diffFoldersRecursive(firstClnt, secondClnt client.Client, outCh chan<- diffMessage) {
|
||||||
|
var scanBar scanBarFunc
|
||||||
|
if !globalQuietFlag && !globalJSONFlag { // set up progress bar
|
||||||
|
scanBar = scanBarFactory()
|
||||||
|
}
|
||||||
recursive := true
|
recursive := true
|
||||||
firstListCh := firstClnt.List(recursive, false) // Copy first list channel.
|
firstListCh := firstClnt.List(recursive, false) // Copy first list channel.
|
||||||
for firstContentCh := range firstListCh {
|
for firstContentCh := range firstListCh {
|
||||||
@@ -197,5 +201,8 @@ func diffFoldersRecursive(firstClnt, secondClnt client.Client, outCh chan<- diff
|
|||||||
outCh <- *diffMsg
|
outCh <- *diffMsg
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if !globalQuietFlag && !globalJSONFlag { // set up progress bar
|
||||||
|
scanBar(firstContent.URL.String())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user