From 56c9d8e32eb919adf72ed98eaf011ca70d67da07 Mon Sep 17 00:00:00 2001 From: idl0r Date: Sat, 12 Sep 2009 10:54:38 +0000 Subject: [PATCH] Fix bug 284657, thanks to Andrew Gaffney . svn path=/trunk/gentoolkit-dev/; revision=680 --- ChangeLog | 3 +++ src/echangelog/echangelog | 20 +++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0730b22..50bf5ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2009-12-09: Christian Ruppert + * src/echangelog/echangelog: Fix bug 284657, thanks to Andrew Gaffney . + 2009-09-09: Christian Ruppert * src/imlate/imlate: Bump to 0.0.4. Add SLOT support. diff --git a/src/echangelog/echangelog b/src/echangelog/echangelog index 5468732..83561aa 100755 --- a/src/echangelog/echangelog +++ b/src/echangelog/echangelog @@ -342,20 +342,22 @@ while () { } 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(); - close(C); + open(GIT, "-|", "${vcs} ls-files --exclude-standard --others"); + while(defined( my $line = )) { + 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 -- 2.26.2