Documentation/git-reflog.adoc | 6 ++++ builtin/reflog.c | 84 +++++++++++++++++++++++++++++++++++-------- t/t1410-reflog.sh | 55 ++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+), 15 deletions(-) Karthik Nayak (2): reflog: drop usage of global variables reflog: implement subcommand to drop reflogs This patch series adds a new 'drop' subcommand to git-reflog that allows users to delete the reflog for a specified reference. Additionally, it adds an '--all' flag to enable dropping all reflogs in a repository. This is a followup to the discussion we had when I sent in a patch to add '--no-reflog' option to 'git refs migrate' [1]. While 'git-reflog(1)' currently allows users to expire reflogs and delete individual entries, it lacks functionality to completely remove reflogs for specific references. This becomes problematic in repositories where reflogs are not needed but continue to accumulate entries despite setting 'core.logAllRefUpdates=false'. The first patch is a small cleanup which ensures that 'builtin/reflog.c' no longer uses global variables. The second patch add the required changes. [1]: https://lore.kernel.org/all/xmqqa5aqu7g9.fsf@gitster.g/ base-commit: e969bc875963a10890d61ba84eab3a460bd9e535 change-id: 20250306-493-add-command-to-purge-reflog-entries-bd22547ad34a Thanks - Karthik