From 7d9fd459f1f5064b421837e46fe87118a07f6d6c Mon Sep 17 00:00:00 2001 From: Brian Gernhardt Date: Thu, 19 Feb 2009 13:08:04 -0500 Subject: [PATCH] git-svn: Create leading directories in create-ignore Since SVN tracks empty directories and git does not, we can not assume that the directory exists when creating .gitignore files. Signed-off-by: Brian Gernhardt Acked-by: Eric Wong --- git-svn.perl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/git-svn.perl b/git-svn.perl index cbc5211d58..ef01fb93c2 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -670,7 +670,11 @@ sub cmd_create_ignore { $gs->prop_walk($gs->{path}, $r, sub { my ($gs, $path, $props) = @_; # $path is of the form /path/to/dir/ - my $ignore = '.' . $path . '.gitignore'; + $path = '.' . $path; + # SVN can have attributes on empty directories, + # which git won't track + mkpath([$path]) unless -d $path; + my $ignore = $path . '.gitignore'; my $s = $props->{'svn:ignore'} or return; open(GITIGNORE, '>', $ignore) or fatal("Failed to open `$ignore' for writing: $!"); -- 2.11.4.GIT