From de8ef1babdd51d4246d29d6b4c40cfd90733446b Mon Sep 17 00:00:00 2001 From: Himadri Bhattacharjee <107522312+lavafroth@users.noreply.github.com> Date: Wed, 10 Sep 2025 09:29:09 +0530 Subject: [PATCH] feat: wipe reflog traces --- README.md | 2 +- main.go | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ab73422..2425cde 100644 --- a/README.md +++ b/README.md @@ -12,5 +12,5 @@ go build . ``` ### TODOs -- [ ] Wipe 4 reflog entries corresponding to the interactive rebase +- [x] Wipe 4 reflog entries corresponding to the interactive rebase - [ ] Add jitter to amend timestamp diff --git a/main.go b/main.go index 47d329e..2816170 100644 --- a/main.go +++ b/main.go @@ -121,16 +121,25 @@ func (m Model) ChangeDate() { committerEnv := fmt.Sprintf("GIT_COMMITTER_DATE=%v", dateString) cmd.Env = os.Environ() cmd.Env = append(cmd.Env, committerEnv) + var errb bytes.Buffer cmd.Stderr = &errb - if err := cmd.Run(); err != nil { log.Fatalf("failed to create amend commit with git: %v: %v", err, errb.String()) } + cmd = exec.Command("git", "rebase", "--continue") if err := cmd.Run(); err != nil { log.Fatalf("failed to continue rebase git: %v", err) } + + for reflog := range m.list.Cursor() + 4 { + cmd = exec.Command("git", "reflog", "delete", "HEAD@{0}") + if err := cmd.Run(); err != nil { + log.Fatalf("failed to delete reflog %d: %v", reflog+1, err) + } + } + } func rebase(nthCommit int, rebaseHash string) {