Karthik Nayak <karthik.188@xxxxxxxxx> writes: > The "git refs migrate" subcommand converts the backend used for ref > storage. It always migrates reflog data as well as refs. Introduce an > option to exclude reflogs from migration, allowing them to be discarded > when they are unnecessary. > > This is particularly useful in server-side repositories, where reflogs > are typically not expected. However, some repositories may still have > them due to historical reasons, such as bugs, misconfigurations, or > administrative decisions to enable reflogs for debugging. In such > repositories, it would be optimal to drop reflogs during the migration. > > To address this, introduce the '--no-reflog' flag, which prevents reflog > migration. When this flag is used, reflogs from the original reference > backend are migrated. Since only the new reference backend remains in > the repository, all previous reflogs are permanently discarded. > > Helped-by: Junio C Hamano <gitster@xxxxxxxxx> > Helped-by: Patrick Steinhardt <ps@xxxxxx> > Signed-off-by: Karthik Nayak <karthik.188@xxxxxxxxx> > --- > Documentation/git-refs.txt | 11 ++++++++--- > builtin/refs.c | 3 +++ > refs.c | 8 +++++--- > refs.h | 5 ++++- > t/t1460-refs-migrate.sh | 28 ++++++++++++++++++++++++---- > 5 files changed, 44 insertions(+), 11 deletions(-) > > Changes in v5: > - Add missing documentation and cleanup the commit message. > - I also see that 'git-refs.txt' in master has been renamed to 'git-refs.adoc', > but I'm going to avoid rebasing on latest master, since the resolution is > quite simple here. Happy to do it if needed. It is a good rule of thumb to refrain from rebasing when in doubt. Shall we declare victory and mark the topic for 'next' by now? Thanks.