Skip to contentSkip to conversation

change remote to track new branch

DISCUSSION Daniel Convissor 4 participants 8 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

Hi:

Long ago I added a remote to my repo. It is set to track what was then WordPress' main release branch (3.4-branch) and created a local branch to use it. Well, time marches on. I want to update my remote and branch to track the new main release branch (3.6-branch).

Here's how I set things up at the time:

git remote add -t 3.4-branch -f wp https://github.com/WordPress/WordPress
git checkout -b wp wp/3.4-branch

I've tried various fetch, remote and branch commands to effectuate this change, to no avail. I get messages like "Not a valid ref."

I know a major part of this is that my repo only knows of one remote branch (of the many that exist). What I don't know are the commands needed to fetch the right remote branch, set my remote and local branch to track it. Your help will be appreciated, please.

Here's some information on the current state of things:

vvvvvvvvvvvvvvvvvvvv
^^^^^^^^^^^^^^^^^^^^
git branch -av
dev a18677e [ahead 153] backup of 3.4 db
master 0d6f9b5 Merge branch 'dev'

* wp 42abc67 [ahead 5] Merge branch
'3.4-branch' of https://github.com/WordPress/WordPress into wp

remotes/git_push_deployer/wordpress c8a5d69 Make my branch names generic.

  remotes/prod/HEAD                   -> prod/master
  remotes/prod/master                 0d6f9b5 Merge branch 'dev'
  remotes/wp/3.4-branch               b535358 POT, generated from r24100
  remotes/wpconfig/master             3e45a81 LSS 0.27.0.

^^^^^^^^^^^^^^^^^^^^

vvvvvvvvvvvvvvvvvvvv
git remote show wp
* remote wp
Fetch URL: https://github.com/WordPress/WordPress
Push URL: https://github.com/WordPress/WordPress
HEAD branch: master
Remote branch:
3.4-branch tracked
Local branch configured for 'git pull':
wp merges with remote 3.4-branch
Local ref configured for 'git push':
master pushes to master (local out of date)
^^^^^^^^^^^^^^^^^^^^

Thanks,

--Dan

Signature · 4 lines
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
#1 lore raw
Quoted 9 lines · Daniel Convissor

Long ago I added a remote to my repo. It is set to track what was then WordPress' main release branch (3.4-branch) and created a local branch to use it. Well, time marches on. I want to update my remote and branch to track the new main release branch (3.6-branch).

Here's how I set things up at the time:

git remote add -t 3.4-branch -f wp https://github.com/WordPress/WordPress
git checkout -b wp wp/3.4-branch

Use "git remote set-branches" to change the tracked branches of a remote. Use "git branch --set-upstream-to" to change the upstream of a branch (or create a new branch from the new upstream).

Andreas.

Signature · 3 lines
Andreas Schwab, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
#2 lore raw

Hi Andreas:

Quoted 7 lines · Andreas Schwab
Quoted 5 lines · Daniel Convissor

Long ago I added a remote to my repo. It is set to track what was then WordPress' main release branch (3.4-branch) and created a local branch to use it. Well, time marches on. I want to update my remote and branch to track the new main release branch (3.6-branch).

Quoted 8 lines
Quoted 4 lines

Here's how I set things up at the time:

git remote add -t 3.4-branch -f wp https://github.com/WordPress/WordPress
git checkout -b wp wp/3.4-branch

Use "git remote set-branches" to change the tracked branches of a remote. Use "git branch --set-upstream-to" to change the upstream of a branch (or create a new branch from the new upstream).

Thanks. Those commands were introduced in 1.8. Is there a way to do it in 1.7, please?

--Dan

Signature · 4 lines
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
#3 lore raw
Quoted 8 lines · Daniel Convissor
Quoted 3 lines · Andreas Schwab

Use "git remote set-branches" to change the tracked branches of a remote. Use "git branch --set-upstream-to" to change the upstream of a branch (or create a new branch from the new upstream).

Thanks. Those commands were introduced in 1.8. Is there a way to do it in 1.7, please?

"git remote set-branches" was introduced by v1.7.8-rc2~4^2~1. Are you stuck on 1.7.2.5, perhaps? In older (and current) versions of git, you can control the list of branches tracked by a remote by modifying its "fetch" refspec in .git/config:

[remote "origin"]
url = ...
fetch = +refs/heads/master:refs/remotes/origin/master fetch = +refs/heads/next:refs/remotes/origin/next

"git branch --set-upstream-to" is from v1.8.0-rc0~50^2~4. In older versions of git,

	git branch --set-upstream-to=origin/master master

was spelled as

	git branch --set-upstream master origin/master

or the branch's upstream can be set directly in .git/config by modifying the "remote" and "merge" values in the [branch "foo"] paragraph.

Hope that helps,
Jonathan

#4 lore raw
In reply to Daniel Convissor
Quoted 2 lines · Daniel Convissor

Thanks. Those commands were introduced in 1.8. Is there a way to do it in 1.7, please?

Use git config.

Andreas.

Signature · 3 lines
Andreas Schwab, [email protected]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
#5 lore raw

Hi Andreas:

Quoted 3 lines · Andreas Schwab

Daniel Convissor <[email protected]> writes:

Use git config.

Yeah. I had contemplated using the following commands:

    git config remote.wp.fetch \
        "+refs/heads/3.6-branch:refs/remotes/wp/3.6-branch"
    git config branch.wp.merge "refs/heads/3.6-branch"

So is "git remote set-branches" and "git branch --set-upstream-to" just another syntax for making those same changes to git config? Or do the new commands do some additional work on the repository (to better keep track of things, or whatever)?

Thanks,

--Dan

Signature · 4 lines
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
#6 lore raw

Hi Folks:

Quoted 11 lines · Daniel Convissor

Yeah. I had contemplated using the following commands:

    git config remote.wp.fetch \
        "+refs/heads/3.6-branch:refs/remotes/wp/3.6-branch"
    git config branch.wp.merge "refs/heads/3.6-branch"

So is "git remote set-branches" and "git branch --set-upstream-to" just another syntax for making those same changes to git config? Or do the new commands do some additional work on the repository (to better keep track of things, or whatever)?

Sorry to be a pest, but I'm curious what the answer is, please.

Thank you,

--Dan

Signature · 4 lines
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
        4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335
#7 lore raw
Quoted 10 lines · Daniel Convissor

Hi Folks:

Quoted 7 lines · Daniel Convissor

Yeah. I had contemplated using the following commands:

    git config remote.wp.fetch \
        "+refs/heads/3.6-branch:refs/remotes/wp/3.6-branch"
    git config branch.wp.merge "refs/heads/3.6-branch"
Quoted 6 lines
Quoted 4 lines

So is "git remote set-branches" and "git branch --set-upstream-to" just another syntax for making those same changes to git config? Or do the new commands do some additional work on the repository (to better keep track of things, or whatever)?

Sorry to be a pest, but I'm curious what the answer is, please.

There's really nothing more to it.

There is one other setting -- "branch.wp.remote" should be set to "wp".

If you edit your .git/config by hand you'll see what's really going on. It's quite simple under the hood.

Signature · 1 line
David