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