aboutsummaryrefslogtreecommitdiff
path: root/transport.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-10-10 15:56:18 -0700
committerJunio C Hamano <gitster@pobox.com>2011-10-10 15:56:18 -0700
commit9bd500048d467791902b1a5e8c22165325952fde (patch)
tree3cb1c07dd5c74e61cbcdf2405e17dcb7965eef0e /transport.c
parent11fa509957025cc30c063d75014b701dd9ae235d (diff)
parentdce4bab6567de7c458b334e029e3dedcab5f2648 (diff)
downloadgit-9bd500048d467791902b1a5e8c22165325952fde.tar.gz
git-9bd500048d467791902b1a5e8c22165325952fde.tar.xz
Merge branch 'mh/check-ref-format-3'
* mh/check-ref-format-3: (23 commits) add_ref(): verify that the refname is formatted correctly resolve_ref(): expand documentation resolve_ref(): also treat a too-long SHA1 as invalid resolve_ref(): emit warnings for improperly-formatted references resolve_ref(): verify that the input refname has the right format remote: avoid passing NULL to read_ref() remote: use xstrdup() instead of strdup() resolve_ref(): do not follow incorrectly-formatted symbolic refs resolve_ref(): extract a function get_packed_ref() resolve_ref(): turn buffer into a proper string as soon as possible resolve_ref(): only follow a symlink that contains a valid, normalized refname resolve_ref(): use prefixcmp() resolve_ref(): explicitly fail if a symlink is not readable Change check_refname_format() to reject unnormalized refnames Inline function refname_format_print() Make collapse_slashes() allocate memory for its result Do not allow ".lock" at the end of any refname component Refactor check_refname_format() Change check_ref_format() to take a flags argument Change bad_ref_char() to return a boolean value ...
Diffstat (limited to 'transport.c')
-rw-r--r--transport.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/transport.c b/transport.c
index e1940615e..c048ef179 100644
--- a/transport.c
+++ b/transport.c
@@ -755,18 +755,10 @@ void transport_verify_remote_names(int nr_heads, const char **heads)
continue;
remote = remote ? (remote + 1) : local;
- switch (check_ref_format(remote)) {
- case 0: /* ok */
- case CHECK_REF_FORMAT_ONELEVEL:
- /* ok but a single level -- that is fine for
- * a match pattern.
- */
- case CHECK_REF_FORMAT_WILDCARD:
- /* ok but ends with a pattern-match character */
- continue;
- }
- die("remote part of refspec is not a valid name in %s",
- heads[i]);
+ if (check_refname_format(remote,
+ REFNAME_ALLOW_ONELEVEL|REFNAME_REFSPEC_PATTERN))
+ die("remote part of refspec is not a valid name in %s",
+ heads[i]);
}
}