From dff17d684a981660f3c342c7fbe8c4ef7a837641 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Tue, 28 Jul 2026 18:09:28 -0500 Subject: [PATCH 1/2] fix(git): parse clone progress into thinned log lines instead of raw passthrough git clone already runs with --progress (added in #590), but its \r-delimited "Receiving objects: NN% (x/y)" frames were logged verbatim, producing a wall of near-duplicate lines for large clones. progressWriter splits on \r as well as \n (git overwrites its progress line with \r rather than emitting a new one), logs percentage updates thinned to one per 10 points, and passes any other line through unchanged. --- pkg/git/progress.go | 82 +++++++++++++++++++++++++++++ pkg/git/progress_test.go | 108 +++++++++++++++++++++++++++++++++++++++ pkg/git/repo.go | 7 ++- 3 files changed, 195 insertions(+), 2 deletions(-) create mode 100644 pkg/git/progress.go create mode 100644 pkg/git/progress_test.go diff --git a/pkg/git/progress.go b/pkg/git/progress.go new file mode 100644 index 000000000..4d27643ef --- /dev/null +++ b/pkg/git/progress.go @@ -0,0 +1,82 @@ +package git + +import ( + "bytes" + "io" + "regexp" + "strconv" + + "github.com/devsy-org/devsy/pkg/log" +) + +// progressLine matches git's repeating "