[PATCH 3/4] git-remote rename: support branches->config migration
From: Miklos Vajna <hidden>
Date: 2016-06-15 22:45:37
Subsystem:
the rest · Maintainer:
Linus Torvalds
This is similar to the remotes->config one, but it makes the branches->config conversion possible. Signed-off-by: Miklos Vajna <redacted> --- builtin-remote.c | 2 ++ t/t5505-remote.sh | 12 ++++++++++++ 2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/builtin-remote.c b/builtin-remote.c
index d9d0ba3..3af1876 100644
--- a/builtin-remote.c
+++ b/builtin-remote.c@@ -384,6 +384,8 @@ static int migrate_file(struct remote *remote) remote->fetch_refspec[i], buf.buf); if (remote->origin == REMOTE_REMOTES) path = git_path("remotes/%s", remote->name); + else if (remote->origin == REMOTE_BRANCHES) + path = git_path("branches/%s", remote->name); if (path && unlink(path)) warning("failed to remove '%s'", path); return 0;
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index 1567631..1f59960 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh@@ -364,4 +364,16 @@ test_expect_success 'migrate a remote from named file in $GIT_DIR/remotes' ' test "$(git config remote.origin.fetch)" = "refs/heads/master:refs/heads/origin") ' +test_expect_success 'migrate a remote from named file in $GIT_DIR/branches' ' + git clone one six && + origin_url=$(pwd)/one && + (cd six && + git remote rm origin && + echo "$origin_url" > .git/branches/origin && + git remote rename origin origin && + ! test -f .git/branches/origin && + test "$(git config remote.origin.url)" = "$origin_url" && + test "$(git config remote.origin.fetch)" = "refs/heads/master:refs/heads/origin") +' + test_done
--
1.6.0.2