summaryrefslogtreecommitdiff
path: root/dedupe.go
diff options
context:
space:
mode:
Diffstat (limited to 'dedupe.go')
-rw-r--r--dedupe.go16
1 files changed, 10 insertions, 6 deletions
diff --git a/dedupe.go b/dedupe.go
index aaeae2e..f28d2f4 100644
--- a/dedupe.go
+++ b/dedupe.go
@@ -65,18 +65,18 @@ func getFiemaps(paths []string) map[string][]string {
ret := map[string][]string{}
fmt.Fprintf(os.Stderr, "Getting fiemaps for %d files...\n", len(paths))
+ cnt := 0
for len(paths) > 0 {
_paths := paths
arg_len := 0
for i := range _paths {
- arg_len += len(_paths[i])+1
+ arg_len += len(_paths[i]) + 1
if arg_len > arg_max/2 {
_paths = _paths[:i-1]
break
}
}
paths = paths[len(_paths):]
- fmt.Fprintf(os.Stderr, " -> %d\n", len(_paths))
cmd := exec.Command("./cow-extent-map", append([]string{"-m", "--"}, _paths...)...)
stdout, err := cmd.StdoutPipe()
@@ -102,11 +102,13 @@ func getFiemaps(paths []string) map[string][]string {
errhandle(err)
ret[fiemap] = append(ret[fiemap], filename)
+ cnt++
+ fmt.Fprintf(os.Stderr, "\r%d ", cnt)
}
errhandle(cmd.Wait())
}
- fmt.Fprintf(os.Stderr, "...done\n")
+ fmt.Fprintf(os.Stderr, "\r...done \n")
return ret
}
@@ -114,18 +116,18 @@ func getChecksums(paths []string) map[string][]string {
ret := map[string][]string{}
fmt.Fprintf(os.Stderr, "Generating checksums for %d files...\n", len(paths))
+ cnt := 0
for len(paths) > 0 {
_paths := paths
arg_len := 0
for i := range _paths {
- arg_len += len(_paths[i])+1
+ arg_len += len(_paths[i]) + 1
if arg_len > arg_max/2 {
_paths = _paths[:i-1]
break
}
}
paths = paths[len(_paths):]
- fmt.Fprintf(os.Stderr, " -> %d\n", len(_paths))
cmd := exec.Command("sha256sum", append([]string{"--"}, _paths...)...)
stdout, err := cmd.StdoutPipe()
@@ -147,11 +149,13 @@ func getChecksums(paths []string) map[string][]string {
filename := strings.TrimPrefix(parts[1], " ")
ret[checksum] = append(ret[checksum], filename)
+ cnt++
+ fmt.Fprintf(os.Stderr, "\r%d ", cnt)
}
errhandle(cmd.Wait())
}
- fmt.Fprintf(os.Stderr, "...done\n")
+ fmt.Fprintf(os.Stderr, "\r...done \n")
return ret
}