From: Junio C Hamano Date: Sat, 18 Feb 2006 09:24:54 +0000 (-0800) Subject: Merge branch 'jc/ident' X-Git-Tag: v1.3.0-rc1~54^2~62 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=9c92f563bec6cf768910548355550e21589f74fc;hp=416b3cb4303e1a13ed05413bef7a0c1b9f7fc09e;p=git.git Merge branch 'jc/ident' * jc/ident: Make "empty ident" error message a bit more helpful. Merge branch 'jc/topo' Merge branch 'jc/rebase-limit' gitview: typofix git-svn: remove files from the index before adding/updating --- diff --git a/contrib/git-svn/git-svn b/contrib/git-svn/git-svn index 2caf0570..71a8b3b2 100755 --- a/contrib/git-svn/git-svn +++ b/contrib/git-svn/git-svn @@ -580,13 +580,12 @@ sub svn_info { sub sys { system(@_) == 0 or croak $? } sub git_addremove { - system( "git-ls-files -z --others ". + system( "git-diff-files --name-only -z ". + " | git-update-index --remove -z --stdin; ". + "git-ls-files -z --others ". "'--exclude-from=$GIT_DIR/$GIT_SVN/info/exclude'". - "| git-update-index --add -z --stdin; ". - "git-ls-files -z --deleted ". - "| git-update-index --remove -z --stdin; ". - "git-ls-files -z --modified". - "| git-update-index -z --stdin") == 0 or croak $? + " | git-update-index --add -z --stdin; " + ) == 0 or croak $? } sub s_to_file { diff --git a/contrib/gitview/gitview.txt b/contrib/gitview/gitview.txt index 171295aa..fcf759c3 100644 --- a/contrib/gitview/gitview.txt +++ b/contrib/gitview/gitview.txt @@ -32,7 +32,7 @@ EXAMPLES Show as the changes since version v2.6.12 that changed any file in the include/scsi or drivers/scsi subdirectories - gitk --since=2.weeks.ago + gitview --since=2.weeks.ago Show the changes during the last two weeks diff --git a/ident.c b/ident.c index 23b8cfc6..09d4d716 100644 --- a/ident.c +++ b/ident.c @@ -46,6 +46,15 @@ static void copy_gecos(struct passwd *w, char *name, int sz) } +static const char au_env[] = "GIT_AUTHOR_NAME"; +static const char co_env[] = "GIT_COMMITTER_NAME"; +static const char env_hint[] = +"\n*** Environment problem:\n" +"*** Your name cannot be determined from your system services (gecos).\n" +"*** You would need to set %s and %s\n" +"*** environment variables; otherwise you won't be able to perform\n" +"*** certain operations because of \"empty ident\" errors.\n\n"; + int setup_ident(void) { int len; @@ -57,6 +66,11 @@ int setup_ident(void) /* Get the name ("gecos") */ copy_gecos(pw, git_default_name, sizeof(git_default_name)); + if (!*git_default_name) { + if (!getenv(au_env) || !getenv(co_env)) + fprintf(stderr, env_hint, au_env, co_env); + } + /* Make up a fake email address (name + '@' + hostname [+ '.' + domainname]) */ len = strlen(pw->pw_name); if (len > sizeof(git_default_email)/2)