Fix bug 284657, thanks to Andrew Gaffney <agaffney@gentoo.org>.
authoridl0r <idl0r@gentoo.org>
Sat, 12 Sep 2009 10:54:38 +0000 (10:54 -0000)
committeridl0r <idl0r@gentoo.org>
Sat, 12 Sep 2009 10:54:38 +0000 (10:54 -0000)
svn path=/trunk/gentoolkit-dev/; revision=680

ChangeLog
src/echangelog/echangelog

index 0730b2237b2d82d4f7139914c67b7464f9f68cd8..50bf5ec0b1b56c569879f07b4616c43d3d4fb57f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2009-12-09: Christian Ruppert <idl0r@gentoo.org>
+       * src/echangelog/echangelog: Fix bug 284657, thanks to Andrew Gaffney <agaffney@gentoo.org>.
+
 2009-09-09: Christian Ruppert <idl0r@gentoo.org>
        * src/imlate/imlate: Bump to 0.0.4.
                Add SLOT support.
index 54687329962d9e54de5ae3da11c8788da38e699f..83561aa9d9ee38b3e6c9c8e9ab6ff9c3080c167f 100755 (executable)
@@ -342,20 +342,22 @@ while (<C>) {
 }
 
 sub git_unknown_objects {
-       my $object = $_;
-
-       return if -d $object;
-       return if $File::Find::dir =~ m/^\.\/\.git\/?/;
-
-       open(C, '-|', "${vcs} status ${object} 2>&1 1>/dev/null");
-       push(@unknown, $object) if defined(<C>);
-       close(C);
+       open(GIT, "-|", "${vcs} ls-files --exclude-standard --others");
+       while(defined( my $line = <GIT> )) {
+               chomp($line);
+
+               # IMHO we can skip those files, even if they're untracked
+               #next if $line =~ m/^\.gitignore$/;
+               
+               push(@unknown, $line);
+       }
+       close(GIT);
 }
 
 # git only shows files already added so we need to check for unknown files
 # separately here.
 if($vcs eq "git") {
-       find(\&git_unknown_objects, "./");
+       git_unknown_objects();
 }
 
 # Separate out the trivial files for now