Don't force everybody to call setup_ident().

Back when only handful commands that created commit and tag were
the only users of committer identity information, it made sense
to explicitly call setup_ident() to pre-fill the default value
from the gecos information.  But it is much simpler for programs
to make the call automatic when get_ident() is called these days,
since many more programs want to use the information when updating
the reflog.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 2007-01-28 00:50:53 -08:00
parent 903b45fe18
commit 01754769ab
13 changed files with 35 additions and 28 deletions

View File

@ -394,7 +394,6 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
int kinds = REF_LOCAL_BRANCH; int kinds = REF_LOCAL_BRANCH;
int i; int i;


setup_ident();
git_config(git_branch_config); git_config(git_branch_config);


for (i = 1; i < argc; i++) { for (i = 1; i < argc; i++) {

View File

@ -94,7 +94,6 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
unsigned int size; unsigned int size;
int encoding_is_utf8; int encoding_is_utf8;


setup_ident();
git_config(git_default_config); git_config(git_default_config);


if (argc < 2) if (argc < 2)

View File

@ -380,7 +380,6 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
char message_id[1024]; char message_id[1024];
char ref_message_id[1024]; char ref_message_id[1024];


setup_ident();
git_config(git_format_config); git_config(git_format_config);
init_revisions(&rev, prefix); init_revisions(&rev, prefix);
rev.commit_format = CMIT_FMT_EMAIL; rev.commit_format = CMIT_FMT_EMAIL;

View File

@ -13,7 +13,6 @@ int cmd_update_ref(int argc, const char **argv, const char *prefix)
int i, delete; int i, delete;


delete = 0; delete = 0;
setup_ident();
git_config(git_default_config); git_config(git_default_config);


for (i = 1; i < argc; i++) { for (i = 1; i < argc; i++) {

View File

@ -319,7 +319,6 @@ int parse_date(const char *date, char *buf, int bufsize);
void datestamp(char *buf, int bufsize); void datestamp(char *buf, int bufsize);
unsigned long approxidate(const char *); unsigned long approxidate(const char *);


extern int setup_ident(void);
extern const char *git_author_info(int); extern const char *git_author_info(int);
extern const char *git_committer_info(int); extern const char *git_committer_info(int);



View File

@ -670,7 +670,6 @@ int main(int argc, char **argv)
struct stat st; struct stat st;


setup_git_directory(); setup_git_directory();
setup_ident();
git_config(fetch_pack_config); git_config(fetch_pack_config);


if (0 <= transfer_unpack_limit) if (0 <= transfer_unpack_limit)

View File

@ -1003,7 +1003,6 @@ int main(int argc, const char **argv)
int arg = 1; int arg = 1;
int rc = 0; int rc = 0;


setup_ident();
setup_git_directory(); setup_git_directory();
git_config(git_default_config); git_config(git_default_config);



View File

@ -2299,7 +2299,6 @@ int main(int argc, char **argv)
struct ref *ref; struct ref *ref;


setup_git_directory(); setup_git_directory();
setup_ident();


remote = xcalloc(sizeof(*remote), 1); remote = xcalloc(sizeof(*remote), 1);



51
ident.c
View File

@ -43,19 +43,13 @@ static void copy_gecos(struct passwd *w, char *name, int sz)


} }


int setup_ident(void) static void copy_email(struct passwd *pw)
{ {
int len; /*
struct passwd *pw = getpwuid(getuid()); * Make up a fake email address

* (name + '@' + hostname [+ '.' + domainname])
if (!pw) */
die("You don't exist. Go away!"); int len = strlen(pw->pw_name);

/* Get the name ("gecos") */
copy_gecos(pw, git_default_name, sizeof(git_default_name));

/* Make up a fake email address (name + '@' + hostname [+ '.' + domainname]) */
len = strlen(pw->pw_name);
if (len > sizeof(git_default_email)/2) if (len > sizeof(git_default_email)/2)
die("Your sysadmin must hate you!"); die("Your sysadmin must hate you!");
memcpy(git_default_email, pw->pw_name, len); memcpy(git_default_email, pw->pw_name, len);
@ -68,13 +62,37 @@ int setup_ident(void)
len = strlen(git_default_email); len = strlen(git_default_email);
git_default_email[len++] = '.'; git_default_email[len++] = '.';
if (he && (domainname = strchr(he->h_name, '.'))) if (he && (domainname = strchr(he->h_name, '.')))
strlcpy(git_default_email + len, domainname + 1, sizeof(git_default_email) - len); strlcpy(git_default_email + len, domainname + 1,
sizeof(git_default_email) - len);
else else
strlcpy(git_default_email + len, "(none)", sizeof(git_default_email) - len); strlcpy(git_default_email + len, "(none)",
sizeof(git_default_email) - len);
} }
}

static void setup_ident(void)
{
struct passwd *pw = NULL;

/* Get the name ("gecos") */
if (!git_default_name[0]) {
pw = getpwuid(getuid());
if (!pw)
die("You don't exist. Go away!");
copy_gecos(pw, git_default_name, sizeof(git_default_name));
}

if (!git_default_email[0]) {
if (!pw)
pw = getpwuid(getuid());
if (!pw)
die("You don't exist. Go away!");
copy_email(pw);
}

/* And set the default date */ /* And set the default date */
datestamp(git_default_date, sizeof(git_default_date)); if (!git_default_date[0])
return 0; datestamp(git_default_date, sizeof(git_default_date));
} }


static int add_raw(char *buf, int size, int offset, const char *str) static int add_raw(char *buf, int size, int offset, const char *str)
@ -174,6 +192,7 @@ static const char *get_ident(const char *name, const char *email,
char date[50]; char date[50];
int i; int i;


setup_ident();
if (!name) if (!name)
name = git_default_name; name = git_default_name;
if (!email) if (!email)

View File

@ -210,7 +210,6 @@ int main(int argc, const char **argv)
char **commit_id; char **commit_id;
int arg = 1; int arg = 1;


setup_ident();
setup_git_directory(); setup_git_directory();
git_config(git_default_config); git_config(git_default_config);



View File

@ -429,7 +429,6 @@ int main(int argc, char **argv)
if (is_repository_shallow()) if (is_repository_shallow())
die("attempt to push into a shallow repository"); die("attempt to push into a shallow repository");


setup_ident();
git_config(receive_pack_config); git_config(receive_pack_config);


if (0 <= transfer_unpack_limit) if (0 <= transfer_unpack_limit)

View File

@ -124,7 +124,6 @@ int main(int argc, char **argv)
prog = getenv("GIT_SSH_PUSH"); prog = getenv("GIT_SSH_PUSH");
if (!prog) prog = "git-ssh-upload"; if (!prog) prog = "git-ssh-upload";


setup_ident();
setup_git_directory(); setup_git_directory();
git_config(git_default_config); git_config(git_default_config);



1
var.c
View File

@ -56,7 +56,6 @@ int main(int argc, char **argv)
} }


setup_git_directory(); setup_git_directory();
setup_ident();
val = NULL; val = NULL;


if (strcmp(argv[1], "-l") == 0) { if (strcmp(argv[1], "-l") == 0) {