summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fi-prune-empty2/replace.go19
-rw-r--r--fi-prune-empty2/stream.go3
2 files changed, 22 insertions, 0 deletions
diff --git a/fi-prune-empty2/replace.go b/fi-prune-empty2/replace.go
index 7a12b66..72256d8 100644
--- a/fi-prune-empty2/replace.go
+++ b/fi-prune-empty2/replace.go
@@ -17,6 +17,7 @@ package main
import (
"fmt"
+ "os"
"strings"
"github.com/pkg/errors"
@@ -137,6 +138,16 @@ func NewReplacer(
}
func (r *Replacer) HandleDone(refs map[string]Mark) error {
+ deleted := 0
+ created := 0
+ progress := func() {
+ r.dstStream.Do(libfastimport.CmdProgress{
+ Str: fmt.Sprintf("[%s] replace refs: deleted=%d created=%d",
+ os.Args[0], deleted, created),
+ })
+ }
+
+ progress()
if r.existingReplace == ExistingReplaceDelete || r.existingReplace == ExistingReplaceDeleteOrUpdate {
for ref := range refs {
if !strings.HasPrefix(ref, "refs/replace/") {
@@ -149,8 +160,12 @@ func (r *Replacer) HandleDone(refs map[string]Mark) error {
if err != nil {
return err
}
+ deleted++
+ progress()
}
}
+
+ progress()
for oldmark, oldhash := range r.oldhash {
if _, existing := refs["refs/replace/"+string(oldhash)]; existing {
if r.existingReplace == ExistingReplaceKeep {
@@ -175,7 +190,11 @@ func (r *Replacer) HandleDone(refs map[string]Mark) error {
return err
}
}
+ created++
+ progress()
}
+
+ progress()
return nil
}
diff --git a/fi-prune-empty2/stream.go b/fi-prune-empty2/stream.go
index faac431..166c266 100644
--- a/fi-prune-empty2/stream.go
+++ b/fi-prune-empty2/stream.go
@@ -449,5 +449,8 @@ func (h *Handler) CmdFeature(cmd libfastimport.CmdFeature) error {
}
func (h *Handler) HookEndOfStream() error {
+ h.backend.Do(libfastimport.CmdProgress{
+ Str: fmt.Sprintf("[%s] EOF reached", os.Args[0]),
+ })
return h.driver.HandleDone(h.refs)
}