packaging: Add contrib installation
[platform/upstream/git.git] / credential.h
index a5a3ee9..c0e17e3 100644 (file)
@@ -118,7 +118,8 @@ struct credential {
        unsigned approved:1,
                 configured:1,
                 quit:1,
-                use_http_path:1;
+                use_http_path:1,
+                username_from_proto:1;
 
        char *username;
        char *password;
@@ -172,10 +173,23 @@ void credential_reject(struct credential *);
 int credential_read(struct credential *, FILE *);
 void credential_write(const struct credential *, FILE *);
 
-/* Parse a URL into broken-down credential fields. */
+/*
+ * Parse a url into a credential struct, replacing any existing contents.
+ *
+ * If the url can't be parsed (e.g., a missing "proto://" component), the
+ * resulting credential will be empty and the function will return an
+ * error (even in the "gently" form).
+ *
+ * If we encounter a component which cannot be represented as a credential
+ * value (e.g., because it contains a newline), the "gently" form will return
+ * an error but leave the broken state in the credential object for further
+ * examination.  The non-gentle form will issue a warning to stderr and return
+ * an empty credential.
+ */
 void credential_from_url(struct credential *, const char *url);
+int credential_from_url_gently(struct credential *, const char *url, int quiet);
 
-int credential_match(const struct credential *have,
-                    const struct credential *want);
+int credential_match(const struct credential *want,
+                    const struct credential *have);
 
 #endif /* CREDENTIAL_H */