[PATCH 0/8 v2] improve push's refspec handling
- From
Steffen Prohaska <prohaska@zib.de>
- Date
- Oct 27, 2007, 16:49 UTC
- Message-ID
- <119350380778-git-send-email-prohaska@zib.de>
This patch series improves the refspec handling in push.
It is a replacement for the series in sp/push-refspec (666df53d6868bf56ca6c9ed0a927d612c67fe68c).
The series addresses some issues that were recently discussed on the mailing list. - creating remote refs requires a more explicit command [1]. - the current branch can be pushed as "git push HEAD" [2]. - matching of refs use same rules as git rev-parse [3]. - annoying error messages when working with shared repos are supressed [4].
[1] http://marc.info/?l=git&m=119286893014690&w=2 [2] http://marc.info/?l=git&m=119089831513994&w=2 [3] http://marc.info/?l=git&m=119224567631084&w=2 [4] http://marc.info/?t=119305127000001&r=1&w=2
Note, existing setups may break. Therefore, we need to decide if this series can be applied before git 1.6.
All tests pass.
Steffen
Documentation/git-http-push.txt | 6 ++ Documentation/git-push.txt | 8 ++- Documentation/git-send-pack.txt | 18 ++++- builtin-push.c | 6 ++- builtin-rev-parse.c | 27 +++++--- cache.h | 2 + http-push.c | 9 ++- remote.c | 41 ++++++++---- remote.h | 2 +- send-pack.c | 70 ++++++++++++++++----- sha1_name.c | 52 +++++++++++++---- t/t5516-fetch-push.sh | 127 ++++++++++++++++++++++++++++++++++++++- transport.c | 8 ++- transport.h | 1 + 14 files changed, 311 insertions(+), 66 deletions(-)
[PATCH 1/8] push: change push to fail if short ref name does not exist
[PATCH 2/8] push: teach push new flag --create
these two should be kept together.[PATCH 3/8] add get_sha1_with_real_ref() returning full name of ref on demand
[PATCH 4/8] rev-parse: teach "git rev-parse --symbolic" to print the full ref name
This one is a bit off-topic and could be skipped.[PATCH 5/8] push, send-pack: support pushing HEAD to real ref name
[PATCH 6/8] add ref_cmp_full_short() comparing full ref name with a short name [PATCH 7/8] push: use same rules as git-rev-parse to resolve refspecs
[PATCH 8/8] push: teach push to be quiet if local ref is strict subset of remote ref