Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] RFC: Publish branch wizard

> Hey Robin
> 
> interesting interesting, sounds as if this would provide some
> enhanced
> workflow. Let me try to understand what you suggest so that I can
> give
> valuable feedback:

Thanks! See replies below.

> On 06/29/2013 05:16 PM, Robin Stocker wrote:
> > Hey hey,
> >
> > Some time ago, I submitted a change for a new wizard that can be
> > used
> > for pushing a branch for the first time (e.g. a new feature branch
> > to a
> > centralized repository):
> >
> > https://git.eclipse.org/r/#/c/11868/
> >
> > It hasn't received any feedback yet. The code still has some TODOs,
> > so
> > please don't comment on that yet. I want to get the UI right first,
> > so
> > it would be good to get some feedback about that.
> >
> > So, this is what it currently looks like, when pushing a feature
> > branch:
> >
> > http://imgur.com/a/qVTiq
> 
> Let me reiterate what I understood so far. The usecase is as follows:
> You are in a local clone, created your topic branch locally and now
> want
> to have it created in origin or some upstream master repo (since the
> wizard allows you to choose a remote there's no limitation to
> origin),
> and the content of your local branch pushed to it.

I'm not sure what you mean by "master repo", but yes, just any remote
(or a new remote).

> The wizard pulls from the existing remote master (?) branch, merges
> or
> rebases (whatever you set in the radio button)

No. The radio buttons are for configuring branch tracking ("what 
should happen when you later do a plain pull?"). They correspond to
the same options that you are offered when you create a new local
branch based on a remote one.

The wizard as shown above does the same as
`git push --set-upstream origin feature`. In addition, the user
can choose whether branch.feature.rebase should be true or false,
and there's a preview.

But that you misunderstood their purpose is good feedback, they
should have better descriptions. Maybe the following would be better?

[x] Configure the local branch for pulling from the new remote branch

+- What should be done when pulling on this branch? --------+
|
| ( ) Rebase local commits onto remote branch commits       |
| ( ) Merge remote branch into local                        |
|
+-----------------------------------------------------------+

Note also that the checkbox enables or disables the group below
it (not visible in the screenshot). The checkbox could also be
replaced by offering a third radio choice, "Nothing".

> and pushes your local
> branch to a topic branch on the chosen remote.  The "configure
> upstream
> branch" configures the fetch- and push- specs for the local topic
> branch?

No, there are no additional fetch/push specs needed.

> - Shouldn't we provide some explanatory label that tells the user in
> a
> few words what happens if this wizard is triggered (the workflow
> looks
> not-obvious enough for unexperimented users to grock without
> explanations)?

Yes. Maybe in the wizard description? Or just a label before the
remote selection. I'll look into it.

> - Shouldn't we explicitly state in the group title that the pull is
> pulling from remote master?

See above, that's not what it does.

> - What happens if the remote topic-branch already exists on the
> remote
> and the change is not fast-forward? Will we pop up the "do you want
> to
> push force?" dialog we discussed in some other thread?

Good question. That would be a possibility. But the user should
also be able to go back and change the branch name. It would probably
also be nice to show a checkbox to offer to rename the local branch
when the user does this, so that they are the same (foo and origin/foo
instead of foo and origin/foorenamed).

> - What happens if the pull from remote master conflicts?
> Error-dialog?

See above, it's not intended to do a pull during the wizard.

> > Note that in the case the branch is already configured to track
> > another
> > branch, a warning is shown that the old configuration is
> > overwritten.
> >
> > It can also be used when there is no remote yet (say after starting
> > a
> > new repository), then it looks like this:
> >
> > http://imgur.com/a/hWMLh
> >
> > What do you think? What should be improved?
> >
> > Cheers,
> >    Nibor
> > _______________________________________________
> > egit-dev mailing list
> > egit-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/egit-dev
> 
> 


Back to the top