mirror of
https://github.com/git/git.git
synced 2026-02-25 09:31:11 +00:00
Merge branch 'mv/remote-rename'
* mv/remote-rename: git-remote: document the migration feature of the rename subcommand git-remote rename: migrate from remotes/ and branches/ remote: add a new 'origin' variable to the struct Implement git remote rename
This commit is contained in:
@@ -328,4 +328,52 @@ test_expect_success 'reject adding remote with an invalid name' '
|
||||
|
||||
'
|
||||
|
||||
# The first three test if the tracking branches are properly renamed,
|
||||
# the last two ones check if the config is updated.
|
||||
|
||||
test_expect_success 'rename a remote' '
|
||||
|
||||
git clone one four &&
|
||||
(cd four &&
|
||||
git remote rename origin upstream &&
|
||||
rmdir .git/refs/remotes/origin &&
|
||||
test "$(git symbolic-ref refs/remotes/upstream/HEAD)" = "refs/remotes/upstream/master" &&
|
||||
test "$(git rev-parse upstream/master)" = "$(git rev-parse master)" &&
|
||||
test "$(git config remote.upstream.fetch)" = "+refs/heads/*:refs/remotes/upstream/*" &&
|
||||
test "$(git config branch.master.remote)" = "upstream")
|
||||
|
||||
'
|
||||
|
||||
cat > remotes_origin << EOF
|
||||
URL: $(pwd)/one
|
||||
Push: refs/heads/master:refs/heads/upstream
|
||||
Pull: refs/heads/master:refs/heads/origin
|
||||
EOF
|
||||
|
||||
test_expect_success 'migrate a remote from named file in $GIT_DIR/remotes' '
|
||||
git clone one five &&
|
||||
origin_url=$(pwd)/one &&
|
||||
(cd five &&
|
||||
git remote rm origin &&
|
||||
mkdir -p .git/remotes &&
|
||||
cat ../remotes_origin > .git/remotes/origin &&
|
||||
git remote rename origin origin &&
|
||||
! test -f .git/remotes/origin &&
|
||||
test "$(git config remote.origin.url)" = "$origin_url" &&
|
||||
test "$(git config remote.origin.push)" = "refs/heads/master:refs/heads/upstream" &&
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user