From: Jeff Carr Date: Tue, 23 Aug 2005 02:07:13 GMT Subject: git-ls-new-files & make patch, pull, etc. Message-ID: <430A84D1.2050206@linuxmachines.com> Something simple like the perl script at the bottom would be useful for showing files that haven't been added via git-update-cache --add already. I've also found it useful to start adding things to the Makefile's of the projects I'm putting in git repositories. I think it would be useful to come up with some standard or recommended names. That could start to extend the common "make" "make install" with a few other options for projects that use git as their SCM. Thanks, Jeff patch: git-diff-files -p push: git-send-pack `cat .git/branches/origin` pull: git-pull-script `cat .git/branches/origin` git-read-tree -m HEAD git-checkout-cache -q -f -u -a commit: vi changelog.txt GIT_AUTHOR_NAME="$(GIT_AUTHOR_NAME)" \ GIT_AUTHOR_EMAIL="$(GIT_AUTHOR_EMAIL)" \ git-commit-tree `git-write-tree` -p $(HEAD) < changelog.txt > .git/HEAD rm changelog.txt add_all: ./git-ls-new-files |xargs -n 1 git-update-cache --add #!/usr/bin/perl # Shows you what files have not been added to your git repository my %allfiles; # make a hash of all the files except the .git/ directory foreach my $file ( `find . -type f` ) { chomp $file; next if substr($file, 0, 7) eq "./.git/"; $allfiles{ $file } = ""; } # now delete all the files from the hash that are already commited foreach my $file ( split "\n", `git-ls-files` ) { chomp $file; delete $allfiles{ "./$file" }; } # print out what's left foreach my $file ( sort keys %allfiles ) { print "$file\n"; }