Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
parse_fetch_refspec(): clarify the codeflow a bit
author
Junio C Hamano
<gitster@pobox.com>
Tue, 29 Jan 2013 20:58:50 +0000
(12:58 -0800)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 7 Feb 2013 21:53:59 +0000
(13:53 -0800)
Most parts of the cascaded if/else if/... checked an allowable
condition but some checked forbidden conditions. This makes adding
new allowable conditions unnecessarily inconvenient.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
remote.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
daebaa7
)
diff --git
a/remote.c
b/remote.c
index 4b1153f02c715ac0c441110bf5aa83aceb081aa0..1b7828d19ff61b8620d81eebed27acf822ec726c 100644
(file)
--- a/
remote.c
+++ b/
remote.c
@@
-538,7
+538,7
@@
static struct refspec *parse_refspec_internal(int nr_refspec, const char **refsp
/*
* Before going on, special case ":" (or "+:") as a refspec
/*
* Before going on, special case ":" (or "+:") as a refspec
- * for matching refs.
+ * for
pushing
matching refs.
*/
if (!fetch && rhs == lhs && rhs[1] == '\0') {
rs[i].matching = 1;
*/
if (!fetch && rhs == lhs && rhs[1] == '\0') {
rs[i].matching = 1;
@@
-565,26
+565,21
@@
static struct refspec *parse_refspec_internal(int nr_refspec, const char **refsp
flags = REFNAME_ALLOW_ONELEVEL | (is_glob ? REFNAME_REFSPEC_PATTERN : 0);
if (fetch) {
flags = REFNAME_ALLOW_ONELEVEL | (is_glob ? REFNAME_REFSPEC_PATTERN : 0);
if (fetch) {
- /*
- * LHS
- * - empty is allowed; it means HEAD.
- * - otherwise it must be a valid looking ref.
- */
+ /* LHS */
if (!*rs[i].src)
if (!*rs[i].src)
- ; /* empty is ok */
- else if (check_refname_format(rs[i].src, flags))
+ ; /* empty is ok; it means "HEAD" */
+ else if (!check_refname_format(rs[i].src, flags))
+ ; /* valid looking ref is ok */
+ else
goto invalid;
goto invalid;
- /*
- * RHS
- * - missing is ok, and is same as empty.
- * - empty is ok; it means not to store.
- * - otherwise it must be a valid looking ref.
- */
+ /* RHS */
if (!rs[i].dst)
if (!rs[i].dst)
- ; /*
ok
*/
+ ; /*
missing is ok; it is the same as empty
*/
else if (!*rs[i].dst)
else if (!*rs[i].dst)
- ; /* ok */
- else if (check_refname_format(rs[i].dst, flags))
+ ; /* empty is ok; it means "do not store" */
+ else if (!check_refname_format(rs[i].dst, flags))
+ ; /* valid looking ref is ok */
+ else
goto invalid;
} else {
/*
goto invalid;
} else {
/*