Re: [1.8.0] fix branch.autosetupmerge and branch.autosetuprebase

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

 



On Wed, Mar 2, 2011 at 2:30 AM, Stefan Haller <lists@xxxxxxxxxxxxxxxx> wrote:
> Jay Soffian <jaysoffian@xxxxxxxxx> wrote:
>
>> 99% of the time, I think you are doing one of the following:
>>
>>  $ git branch topic origin/master  Â# 1
>>  $ git branch topic master      # 2
>> Â $ git branch topic some_other_topic # 3
>>
>> In the case of (1), you want origin/master to be configured as the
>> upstream for topic. In the case of (2), even though you are starting
>> at master, I'll bet you want the upstream to be origin/master. In the
>> case of (3), even though you are starting at some_other_topic, I'll
>> bet you want topic to have the same configured upstream as
>> some_other_topic.
>
> Where I work, none of these is true. ÂI guess these may be true for an
> open-source kind of setup, where one developer is working on a branch
> and then posts a patch series; however, in a corporate environment with
> a central repository and multiple developers collaborating on a topic
> branch, it's not. ÂOur workflow is to branch a topic from master (with
> --no-track), push the topic to the central repository

The person who creates topic from master would do the following:

  $ git branch topic origin/master
  $ git push --set-upstream origin topic

Creating topic would initially set its upstream to origin/master.
Specifying "--set-upstream" to push would reset topic's upstream from
origin/master to origin/topic.

Or they could create the topic remotely this way:

  $ git push origin origin/master:refs/heads/topic

> others pull the topic branch (with autosetuprebase=always)

So they'd do something like this:

  $ git fetch
  $ git checkout -b topic origin/topic

which would make origin/topic the upstream of topic, which I think is
exactly what you want.

> and contribute to it, and
> eventually it is merged back to master. ÂWe never want automatic
> rebasing onto master for topics.
>
> Which means that we only ever have upstream branches with the same name
> as the local branch. ÂI haven't seen a single exception yet, and I wish
> there was a way to set autosetupmerge to "only_if_name_matches" or some
> such.

I don't think my proposal makes your workflow more difficult.

>> 2. Deprecate branch.autosetuprebase. Pull's default action shouldn't
>> be specified when the branch is created. Rather, add a "pull.rebase"
>> boolean defaulting to false, and which is overridden per-branch by
>> branch.<name>.rebase.
>
> I like this part of the proposal though.

Thank you for the feedback.

j.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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]