use a single representation for remote branches
In Magit and the Git porcelain remote branches are often represented using the form REMOTE/BRANCH. However `git pull' and `git push' have different semantics and that leaked into Magit too much. Always use the REMOTE/BRANCH form and only convert right before calling `git pull' and `git push': REMOTE/REMOTE-BRANCH-NAME => git pull REMOTE REMOTE-BRANCH-NAME LOCAL-BRANCH-NAME REMOTE/REMOTE-BRANCH-NAME => git push REMOTE LOCAL-BRANCH-NAME:refs/heads/REMOTE-BRANCH-NAME The translation is done by the new function `magit-split-branch-name'. Remove `magit-get-remote-branch', which returned (REMOTE . BRANCH). We can now always use `magit-get-tracked-branch', which returns REMOTE/BRANCH, or for a local branch just BRANCH. Replace the two arguments REMOTE and REMOTE-BRANCH which a single argument SOURCE or TARGET in many pulling and pushing commands.
Showing with 40 additions and 37 deletions