Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Gernhardt <benji@silverinsanity.com>2009-02-19 21:08:04 +0300
committerEric Wong <normalperson@yhbt.net>2009-02-23 07:30:58 +0300
commit7d9fd459f1f5064b421837e46fe87118a07f6d6c (patch)
treeef82d481c491d9cdce66fef2b608c0e46132aa42 /git-svn.perl
parent2d602e9179c7eb1a31a0abf41283c132e26a61af (diff)
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 <benji@silverinsanity.com> Acked-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl6
1 files changed, 5 insertions, 1 deletions
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: $!");