How do I rename a Git repository created with gitolite?

后端 未结 4 1064
暗喜
暗喜 2021-01-30 02:50

I created a Git repository using gitolite. Now I would like to rename that repository.

How can I do this?

In gitolite\'s readme is says that I should not work d

相关标签:
4条回答
  • 2021-01-30 03:27

    Using Greg Hewgill as an idea, you possibly can rename the repository in the config file. You may want to try that on a dummy repository first. My suspicions is the old name will be deleted, the new will be created and you need to update your origins locally then push.

    0 讨论(0)
  • 2021-01-30 03:28

    As stated in the gitolite basic-admin manual:

    renaming a repo

    This is similar; there's no code to do this in gitolite. What you do is:

    • log on to the server, cd $REPO_BASE (default: cd ~/repositories), and

      mv old-name.git new-name.git

    • back on your gitolite-admin clone, edit conf/gitolite.conf and replace all occurrences of old-name with new-name. Then add, commit, and push as usual.

    The order of these 2 steps is important; do not reverse them :-)

    A third step is necessary on gitolite3:

    • edit file gl-conf in the repo and change the repository name to the new name

    And of course, every user should update his clone configuration to point to the new repo name.

    0 讨论(0)
  • 2021-01-30 03:29

    A clean approach is to create the new repository as an empty one, then do the following:

    Assuming old is OLD and new (empty) is NEW:

    # mkdir /tmp/1
    # cd /tmp/1
    # git clone OLD_REPO old
    # git clone NEW_REPO new
    # cd new
    # git pull ../old
    # git push origin master
    

    Or you can use directly the remote repo for OLD:

    # mkdir /tmp/1
    # cd /tmp/1
    # git clone NEW_REPO new
    # cd new
    # git pull OLD_REPO
    # git push origin master
    

    This will keep all history and will let gitolite handle its internals. Additionally you'll have to update gitolite-admin but there's not limitation in the order.

    This also works remotely without problems.

    Deleting the OLD repository should be done per gitolite's instructions (locally) though.

    0 讨论(0)
  • 2021-01-30 03:43

    I'm not familiar with gitolite specifically, but one approach that might work is to create a completely new repository with the correct name, push your code up into that one, and then delete the old one.

    0 讨论(0)
提交回复
热议问题