[Kdenlive-devel] Branch to delete

Albert ARIBAUD albert.aribaud at free.fr
Fri Nov 18 19:27:30 UTC 2011

Le 18/11/2011 20:13, Till Theato a écrit :
> Hash: SHA1
> On 11/15/2011 10:34 PM, Simon Eugster wrote:
>> 2011/11/15 Albert ARIBAUD<albert.aribaud at free.fr>:
>>> Le 15/11/2011 22:13, Till Theato a écrit :
>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>>> Hi, I created a origin/master branch by accident and now I'm
>>>> unable to delete it. The first try gave: $ git push
>>>> kde:kdenlive.git :origin/master To git at git.kde.org:kdenlive.git
>>>> - [deleted]         origin/master
>>>> The branch still exists but attempts to delete return: error:
>>>> unable to push to unqualified destination: origin/master The
>>>> destination refspec neither matches an existing ref on the
>>>> remote nor begins with refs/, and we are unable to guess a
>>>> prefix based on the source ref. error: failed to push some
>>>> refs to 'git at git.kde.org:kdenlive.git'
>>>> Any ideas?
> Looks like there was a delay between the push and the pull part
> (including http://quickgit.kde.org)
>>> Are you sure the branch still exists at the remote server? I
>>> think it actually only exist in your local copy of it.
> I did the following:
> - - git push kde:kdenlive.git master:origin/master
>   ->  'origin/master' created on remote; does not exist locally
> - - git push kde:kdenlive.git :origin/master
>   ->  'origin/master' deleted from remote
> - - Then I checked quickgit.kde.org but 'origin/master' still existed
> - - git push kde:kdenlive.git :origin/master
>   ->  fails, tells that 'origin/master' does not exist
> - - git pull kde:kdenlive.git
>   ->  creates 'origin/master' locally
> =>  wtf?

I think you're mistaken about what the "origin/" prefix means.

When you clone a repo, it is added to your local repo's remote with the 
nickname 'origin', and any local branch 'b' of this remote is copied 
locally to "origin/b" -- but they don't exist as "origin.b" on the 
remote, only as "b".

Think of "origin/b" as a way to mean "branch called "b" on remote 
nicknamed "origin".

So if you find in your repo a branch called "origin/master", then on the 
remote it is called "master", and if you want to push to it, you need to 
"git push <remote> <local-ref>:master', *not* '...:origin/master'.

So what you did above was to create a branch called 'origin/master" on 
the remote, but to pull the remote's 'master', not its 'origin/master'.

I am sure that on the remote, 'origin/master is really deleted.


More information about the Kdenlive mailing list