summaryrefslogtreecommitdiff
path: root/go/src/cow-dedupe/dedupe.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/src/cow-dedupe/dedupe.go')
-rw-r--r--go/src/cow-dedupe/dedupe.go16
1 files changed, 8 insertions, 8 deletions
diff --git a/go/src/cow-dedupe/dedupe.go b/go/src/cow-dedupe/dedupe.go
index 0268ed3..457e377 100644
--- a/go/src/cow-dedupe/dedupe.go
+++ b/go/src/cow-dedupe/dedupe.go
@@ -80,10 +80,9 @@ func getFiemaps(paths []string) map[string][]string {
return ret
}
-func getChecksums(cmd []string, paths []string) map[string][]string {
+func getChecksums(sl statusline.StatusLine, cmd []string, paths []string) map[string][]string {
ret := map[string][]string{}
- sl := myStatusLine()
cnt := 0
sl.Put(fmt.Sprintf("Generating checksums (%v) for files... %d/%d", cmd, cnt, len(paths)))
@@ -188,14 +187,14 @@ func main() {
sl.Put(fmt.Sprintf("Building list of spanning files... done; %d files", len(spanningFiles)))
sl.End(true)
- size2filenames := getChecksums([]string{"stat", "--printf=%s %n\\n", "--"}, spanningFiles)
- fmt.Fprintf(" -> %d sets", len(size2filenames))
+ size2filenames := getChecksums(myStatusLine(), []string{"stat", "--printf=%s %n\\n", "--"}, spanningFiles)
+ fmt.Fprintf(os.Stderr, " -> %d sets", len(size2filenames))
pruneSingles(size2filenames)
- fmt.Fprintf(" -> %d non-trivial sets\n", len(size2filenames))
+ fmt.Fprintf(os.Stderr, " -> %d non-trivial sets\n", len(size2filenames))
sl = myStatusLine()
sizeCnt := 0
- for size, filenames := range size2filenames {
+ for _, filenames := range size2filenames {
// The list of specific files in size2filenames isn't
// significant; they'e just proxies for fiemaps.
sizeStatus := fmt.Sprintf("Working on size-set %d/%d of %d fiemaps",
@@ -203,11 +202,12 @@ func main() {
sl.Put(sizeStatus)
// Now do strict hashing, instead of the incredibly
// sloppy (but fast) size-bucketing.
- checksum2filenames := getChecksums([]string{"sha256sum", "--"}, filenames)
+ checksum2filenames := getChecksums(statusline.Prefix(myStatusLine(), sizeStatus+" :: "), []string{"sha256sum", "--"}, filenames)
+ sl.Put(sizeStatus)
pruneSingles(checksum2filenames)
// And loop over the smaller, precise buckets
sumCnt := 0
- for checksum, filenames := range checksum2fiemaps {
+ for _, filenames := range checksum2filenames {
sl.Put(fmt.Sprintf("%s :: sha256-set %d/%d of %d fiemaps", sizeStatus, sumCnt, len(checksum2filenames), len(filenames)))
var fiemaps []string
for _, filename := range filenames {