[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 :
> -----BEGIN PGP SIGNED MESSAGE-----
> 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.
Amicalement,
--
Albert.
More information about the Kdenlive
mailing list