>From nobody Sat Jul 23 02:08:27 2005
To: Ryan Anderson <ryan@xxxxxxxxxxxxxx>
Cc: git@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] Add git-find-new-files to spot files added to the tree,
but not the repository
Bcc: junkio@xxxxxxx
References: <20050723074219.GB3255@xxxxxxxxxxxxxxxxxxxxxxxx>
From: Junio C Hamano <junio@xxxxxxxxxxx>
Date: Sat, 23 Jul 2005 02:10:51 -0700
User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Ryan Anderson <ryan@xxxxxxxxxxxxxx> 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=<exclude pattern file>
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".
|