From: Junio C Hamano Date: Sat, 23 Jul 2005 20:44:50 GMT Subject: Re: [PATCH] Add git-find-new-files to spot files added to the tree, but not the repository Message-ID: <7vsly5qmkd.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20050723074219.GB3255@mythryan2.michonline.com> Ryan Anderson writes: > Add git-find-new-files to find files that are in the tree, but > not checked into the repository. You _ought_ to be able to just say: $ git-ls-files --others --exclude-from= and be done with it. Also please see the thread about Cogito and StGIT's use of .gitignore and .git/exclude files. The current implementation of "git-ls-files" exclude mechanism may have rooms for improvements; the last time I checked, it only did the matching of patterns against filename without leading directories). The world will be a better place if somebody extends it, instead of working around its limitation. I may be tempted to doing it myself, but I'm in the middle of something else, so ... > +# find . -name .git -type d -prune -o -type f -print \ > +# | grep -v -e .tree1 -e .tree2 \ > +# | sed -e "s/^\.\///" \ > +# | sort >.tree1 > +# git-ls-files | grep -v -e .tree1 -e .tree2 \ > +# | sort >.tree2 > +# diff -u .tree1 .tree2 It does not matter since the above is just an example and I think you should be able to just use "ls-files --others", but just FYI, you could have written "comm -23 .tree1 .tree2" above instead of "diff -u".