[PATCH v2 0/12] implement @{push} shorthand
- From
Jeff King <peff@peff.net>
- Date
- May 1, 2015, 22:44 UTC
- Message-ID
- <20150501224414.GA25551@peff.net>
This is a re-roll of the series at:
http://thread.gmane.org/gmane.comp.version-control.git/266532
There were some minor fixes in response to review, but the main change here is support for "git for-each-ref --format=%(push)". To do that, I pulled the push logic into remote.[ch], where it can be used from both sha1_name.c and for-each-ref.c. This is a better place for it to reside, anyway, and may help in the future unifying it with the other remote code that is used by `git push`.
In an effort to reuse as much of the @{upstream} code as possible, I did similar refactoring for that side; we now have branch_get_upstream(). Even though the logic for getting @{upstream} isn't nearly as complicated as for @{push}, I think several call-sites are improved by using the new helper.
[01/12]: remote.c: drop default_remote_name variable
[02/12]: remote.c: drop "remote" pointer from "struct branch"
[03/12]: remote.c: hoist branch.*.remote lookup out of remote_get_1
[04/12]: remote.c: provide per-branch pushremote name
[05/12]: remote.c: introduce branch_get_upstream helper
[06/12]: remote.c: report specific errors from branch_get_upstream
[07/12]: remote.c: add branch_get_push
[08/12]: sha1_name: refactor upstream_mark
[09/12]: sha1_name: refactor interpret_upstream_mark
[10/12]: sha1_name: implement @{push} shorthand
[11/12]: for-each-ref: use skip_prefix instead of starts_with
[12/12]: for-each-ref: accept "%(push)" format-Peff