You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.8 KiB
67 lines
1.8 KiB
#ifndef IDENT_H |
|
#define IDENT_H |
|
|
|
#include "string-list.h" |
|
|
|
struct ident_split { |
|
const char *name_begin; |
|
const char *name_end; |
|
const char *mail_begin; |
|
const char *mail_end; |
|
const char *date_begin; |
|
const char *date_end; |
|
const char *tz_begin; |
|
const char *tz_end; |
|
}; |
|
|
|
#define IDENT_STRICT 1 |
|
#define IDENT_NO_DATE 2 |
|
#define IDENT_NO_NAME 4 |
|
|
|
enum want_ident { |
|
WANT_BLANK_IDENT, |
|
WANT_AUTHOR_IDENT, |
|
WANT_COMMITTER_IDENT |
|
}; |
|
|
|
const char *ident_default_name(void); |
|
const char *ident_default_email(void); |
|
/* |
|
* Prepare an ident to fall back on if the user didn't configure it. |
|
*/ |
|
void prepare_fallback_ident(const char *name, const char *email); |
|
void reset_ident_date(void); |
|
/* |
|
* Signals an success with 0, but time part of the result may be NULL |
|
* if the input lacks timestamp and zone |
|
*/ |
|
int split_ident_line(struct ident_split *, const char *, int); |
|
|
|
/* |
|
* Given a commit or tag object buffer and the commit or tag headers, replaces |
|
* the idents in the headers with their canonical versions using the mailmap mechanism. |
|
*/ |
|
void apply_mailmap_to_header(struct strbuf *, const char **, struct string_list *); |
|
|
|
/* |
|
* Compare split idents for equality or strict ordering. Note that we |
|
* compare only the ident part of the line, ignoring any timestamp. |
|
* |
|
* Because there are two fields, we must choose one as the primary key; we |
|
* currently arbitrarily pick the email. |
|
*/ |
|
int ident_cmp(const struct ident_split *, const struct ident_split *); |
|
|
|
const char *git_author_info(int); |
|
const char *git_committer_info(int); |
|
const char *fmt_ident(const char *name, const char *email, |
|
enum want_ident whose_ident, |
|
const char *date_str, int); |
|
const char *fmt_name(enum want_ident); |
|
|
|
int committer_ident_sufficiently_given(void); |
|
int author_ident_sufficiently_given(void); |
|
|
|
int git_ident_config(const char *, const char *, void *); |
|
|
|
#endif
|
|
|