diff --git a/contrib/git-svn/git-svn b/contrib/git-svn/git-svn index 2caf0570ff..71a8b3b2e6 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 171295aae8..fcf759c307 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 23b8cfc600..09d4d716ce 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)