git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Plumbing to rename a ref?

From
Jeff King <peff@peff.net>
Date
May 23, 2014, 12:35 UTC
Message-ID
<20140523123503.GB726@sigill.intra.peff.net>
In-Reply-To
<87k39ck9r9.fsf@osv.gnss.ru>
On Fri, May 23, 2014 at 03:35:54PM +0400, Sergei Organov wrote:
Show 18 quoted lines
> John Keeping <john@keeping.me.uk> writes:
> > On Fri, May 23, 2014 at 02:11:55PM +0400, Sergei Organov wrote:
> >> Hello,
> >> 
> >> After convertion of a project from CVS to git, I'd like to rename some
> >> references in the created git repository (before it's published, so no
> >> problems here). Is there a plumbing that would do:
> >> 
> >> git rename-ref <old_name> <new_name>
> >> 
> >> for me?
> >
> > I think the best you can get is two invocations of `git update-ref`:
> >
> > 	git update-ref <new_name> <old_name> &&
> > 	git update-ref -d <old_name>
> 
> This should be good enough. Thanks a lot!

One thing that this misses (as does your original script) is the reflogs. Doing "branch -m" to rename a branch will actually move the reflogs, too, but there is otherwise no way to access that functionality.

It does not seem unreasonable to teach "git update-ref" to do renames to take advantage of this (it would be fairly simple; the logic is already encapsulated internally in a rename_ref function).

-Peff
Previous: Sergei OrganovNext: Junio C Hamano
Message 4 of 8 in “Plumbing to rename a ref?”
  1. Sergei OrganovMay 23, 2014
  2. John KeepingMay 23, 2014
  3. Sergei OrganovMay 23, 2014
  4. Jeff KingMay 23, 2014
  5. Junio C HamanoMay 23, 2014
  6. Jeff KingMay 23, 2014
  7. Junio C HamanoMay 23, 2014
  8. John KeepingMay 23, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.