Re: [Q] push refspec with wildcard pushes all matching branches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 25.01.20 01:38, Jeff King wrote:
On Fri, Jan 24, 2020 at 09:29:53PM +0100, Bert Wesarg wrote:

I'm a little confused, that a push refspec with a wildcard changes the number of branches pushed.

I'm confused about which part you're confused about. :)

     $ git push --dry-run
     To ../bare.git
      * [new branch]      master -> master
     $ git config remote.origin.push 'refs/heads/master*:refs/remotes/origin/master*'
     $ git push --dry-run
     To ../bare.git
      * [new branch]      master -> origin/master
      * [new branch]      master-two -> origin/master-two

Is this expected behavior?

You asked it to push master*, so it did.

Is your confusion that you had set push.default to "current"? If there
is a refspec (either in the config or specified on the command line),
then that takes precedence over push.default.

 From git-push(1):

   When the command line does not specify what to push with <refspec>...
   arguments or --all, --mirror, --tags options, the command finds the
   default <refspec> by consulting remote.*.push configuration, and if it
   is not found, honors push.default configuration to decide what to push
   (See git-config(1) for the meaning of push.default).

If that's not it, can you clarify what you expected to happen?

thanks for this pointer. My initial pointer was the help for push.default:

 From git-config(1):

       push.default
           Defines the action git push should take if no refspec is explicitly
           given. Different values are well-suited for specific workflows; for

Thus I expected, that this takes effect, when just calling 'git push'.

What I actually want to achieve, is to track a remote branch with a different name locally, but 'git push' should nevertheless push to tracked remote branch.

In my example above, befor adding the 'push.origin.push' refspec, rename the branch:

    $ git branch -m local
    $ git push --dry-run
      To ../bare.git
       * [new branch]      local -> local

Is it possible that this pushes to the tracked branch automatically, and because I have multiple such branches, without the use of a push refspec.

Thanks for the help.

Best,
Bert


-Peff




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux