From 0870321548806e85fbf1433a6e016fa3cc09d524 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 17 Feb 2006 21:04:47 -0800 Subject: [PATCH 1/3] git-svn: remove files from the index before adding/updating This fixes a bug when importing where a directory gets removed/renamed but is immediately replaced by a file of the same name in the same revision. Signed-off-by: Eric Wong --- contrib/git-svn/git-svn | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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 { From c4d133a2b8501f0aded93fea147f0950db076ae1 Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" Date: Sat, 18 Feb 2006 13:54:50 +0530 Subject: [PATCH 2/3] gitview: typofix Signed-off-by: Aneesh Kumar K.V --- contrib/gitview/gitview.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 925f9187697acfdbd7dbfe15e8420e1d3a671433 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 18 Feb 2006 01:20:06 -0800 Subject: [PATCH 3/3] Make "empty ident" error message a bit more helpful. It appears that some people who did not care about having bogus names in their own commit messages are bitten by the recent change to require a sane environment [*1*]. While it was a good idea to prevent people from using bogus names to create commits and doing sign-offs, the error message is not very informative. This patch attempts to warn things upfront and hint people how to fix their environments. [Footnote] *1* The thread is this one. http://marc.theaimsgroup.com/?t=113868084800004 Especially this message. http://marc.theaimsgroup.com/?m=113932830015032 Signed-off-by: Junio C Hamano --- ident.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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)