# Setting of push.default or confusion about refspecs

2 messages from 2013-06-03 to 2013-06-03. Participants: Kendall Shaw.
Thread: https://gitlist.dev/t/34019

## Kendall Shaw, 2013-06-03 22:01

Subject: Setting of push.default or confusion about refspecs
Message-ID: <51AD1245.9050202@kendallshaw.com>
URL: https://gitlist.dev/e/51AD1245.9050202%40kendallshaw.com

```
I am setting up a git repository which I cloned using git svn. git 
ls-remote shows something like:

...
refs/remotes/trunk
refs/remotes/2.0.2a
...

To get the subversion branch names to appear as a local branch, I:

git remote add blah http://example.com/blah
git fetch blah +refs/remotes/*:refs/heads/*

I have made changes now that are okay to be in master in my local 
repository and I want to push them to the remote repository. The current 
branch is master.

git push

complains that push.default is not set. Now, I am confused by the 
documentation.

push.default settings refer to either "the upstream branch" or a branch 
with "the same name".

What is "the same name"? Are these the same name:

master
refs/remotes/origin/master

also, after the fetch above, are these the same name:

refs/heads/something
refs/remotes/something

Regarding the upstream branch, I have in .git/config

[remote "origin"]
url = http://example.com/blah
fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]
remote = origin
merge = refs/heads/master

git config -l shows

branch.master.remote=origin
branch.master.merge=refs/heads/master

When in branch master, is the upstream branch refs/heads/master?

Then, I think I can get push to push to refs/remotes/origin/master by 
setting push.default to upstream, is that right?

In case "master" is not the same name as "refs/remotes/origin/master", 
can you give me an example of branches with the same name that push 
would push to when push.default is set to simple?

Kendall

```

## Kendall Shaw, 2013-06-03 23:21

Subject: Re: Setting of push.default or confusion about refspecs
Message-ID: <51AD2502.4010804@kendallshaw.com>
URL: https://gitlist.dev/e/51AD2502.4010804%40kendallshaw.com
In-Reply-To: <51AD1245.9050202@kendallshaw.com>

```
On 06/03/2013 03:01 PM, Kendall Shaw wrote:
> ... Regarding the upstream branch, I have in .git/config
>
> [remote "origin"]
> url = http://example.com/blah
> fetch = +refs/heads/*:refs/remotes/origin/*
>
> [branch "master"]
> remote = origin
> merge = refs/heads/master
>
> git config -l shows
>
> branch.master.remote=origin
> branch.master.merge=refs/heads/master
>
> When in branch master, is the upstream branch refs/heads/master?
>
> Then, I think I can get push to push to refs/remotes/origin/master by 
> setting push.default to upstream, is that right?

I bit the wax tadpole and tried it. I think setting push.default set to 
upstream does what I thought.

Kendall

```
