Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] making push force more handy

> Hi Matthias, Hi Tomasz
> 
> Thanks for your feedback!
> 
> On 06/17/2013 08:08 AM, Matthias Sohn wrote:
> 
> 
> 
> On Fri, Jun 14, 2013 at 3:38 PM, André Dietisheim <
> adietish@xxxxxxxxxx > wrote:
> 
> 
> Hi
> 
> I'm currently looking into improve EGit here and there usability-wise
> (and in my daily job). We have master repos on github and each dev
> has its personal fork. We all work on topics-branches. Once the code
> is ready we rebase (or amend beforehad) and file a pull-request
> which then gets merged into the master repo.
> The git staging view is just awesome, it allows commiting and pushing
> to my github fork in a single (button) click. That's even easier
> than on the cmd-line. Unfortunately when I amend, I have to push
> force to my fork which is not as handy.
> 
> * The git-staging view doesn't offer a force switch which could come
> very handy but could also be very dangerous. What are your thoughts?
> 
> yes, it's dangerous, we could add a force switch but it's default
> should be always off.
> Maybe we should only offer it after fast forward failed.
> 
> Yes, good idea. I put 2 suggestions into my blog here:
> https://community.jboss.org/en/tools/blog/2013/06/18/how-to-use-eclipse-egit-with-github-in-jboss-tools
> * a checkbox below the warning "your amended commit was already
> pushed..." in Git Staging View

-1 to this suggestion. I think this would cause a lot of grief
when unexperienced users just force-push without knowing what
commits they are effectively discarding on the remote.

> * a dialog that comes up when push fails non-fast-forward

+1. A dialog that would offer additional information would make this
really usable:


+---------------------------------------------------------------+
| The push was rejected by the server because it would discard  |
| existing commits. You can try to force the push if you are    |
| sure that you want to replace the existing commits with the   |
| new ones.                                                     |
|                                                               |
| Commits to replace:                                           |
| # deadbeef: Implement foo  (Au Thor)                          |
| # 1238abc8: Fix problem bar  (Au Thor)                        |
|                                                               |
| Replaced by:                                                  |
| # abc12345: Implement foo  (Au Thor)                          |
| # def67890: Fix problem bar  (Au Thor)                        |
|                                                               |
|                                      [Cancel]   [Force Push]  |
+---------------------------------------------------------------+


This way the user would notice if the above contained commits
that are not from them, and a e.g. rebase is necessary. And maybe
the dialog should not be automatic but should be explicitly opened
from the push results dialog. Otherwise it would also appear
directly when just a normal rebase/merge is in order. Or we could
change the text and also offer rebase/merge as buttons there.


On a related note, I'll try to include my "Publish Branch" wizard
this cycle, which should help for the initial push of a topic branch:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=382190

I'll post to the mailing list with some screenshots to get the
discussion started.

Regards,
  Robin Stocker


> I'd also love you guys to comment on my other suggestions if you see
> anything wrong/you would agree etc.
> 
> 
> 
> 
> 
> 
> * Team->Remote->Push needs one 1 click too much: it doesn't come
> preconfigured. You have to select your local branch, add the refspec
> and check "force". I'd prefill the local branch. That would safe 1
> click and would things slightly more handy. Thoughts?
> 
> that looks like a good idea
> 
> okiedokie, I'll file a bugzilla and provide a patch...
> 
> 
> 
> 
> 
> 
> * Team->Push To Upstream wont allow me to push force. Invoking it
> will tell me that my push is of course "non fast-forward". The only
> option I have there is to "Configure..." but this will change my
> repo-configuration and this is not what I want to do. I only want to
> push force this single time (and eventually another time later on).
> What about offering "Push..." there, too?
> 
> push to upstream is meant to be single click for the most frequently
> needed case.
> Why don't you trigger Push... from the repositories view ?
> 
> I initially used "Push..." but it for some reason always results in
> nothing done, it tells me "already up to date". I planned to
> investigate why this happens...
> 
> 
> 
> 
> 
> --
> Matthias
> 
> 
> _______________________________________________
> egit-dev mailing list
> egit-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/egit-dev
> 


Back to the top