Open cben opened 8 years ago
A simpler orthogonal way to fix (4): add a separate dropdown to "Push" button (making it "Push to ...").
Dropping Push altogether is not good, there is no other easy way to push a new branch a remote doesn't yet have.
But Move should be improved to visually stress the equivalence to Push (when it's the matching branch).
@cben I do agree with general sentiment that we can improve how ungit handles remote can be improved. I think I address most of your questions or suggestions but please let me know if I have missed anything or you would like to add more.
All in all, I will try out 3 things.
Not quite related but
7) A push that looks like it will fast-forward but fails should auto-fetch before asking whether to force push. The answer is usually "ah, I need to fetch and merge first" but the meaning of the error is unclear if you don't see the diverged history in front of you.
I'll be happy to make PRs, let me know where to start.
On new point, I will give it more thought when it's weekday and I have more blood in my alcohol system. But I have separated out todos to different issues. And amongst all I think #798 will be the easiest and it would be the good point of entry for you.
But please let me know which issue you are interested in and I will be happy to guide you based on your preference. Feel free to take all if you would like.
I love how ungit lets you treat remotes as "just" branches, instead of thinking in "pull"/"push" terms. This is achieved by (1) always-safe fetch separated from merging (2) auto-fetching (3) ability to "Move" remote branches same as local.
But once you have multiple remotes, you have to deal with the "Fetch from $remote" combo button which I find somewhat confusing, and suspect it could be simpler. I used ungit to teach git to @anpc this week, and found several aspects hard to explain, and indeed saw her stumble on some of these:
Brainstorming:
--all
! (Same for auto-fetching.) Still need some UI to add/remove remotes, but unconnected to fetching. What about Push action that appears when local branch selected?IMO fetching just one remote is an optimization, and it's worth giving up for conceptual simplicity. (Can fetch all be done in parallel to hide latency?)