From: Derek Moore Date: Tue, 02 Dec 2014 17:03:05 GMT Subject: Re: RCS Keywords in Git done right Message-ID: In-Reply-To: > My current approach is: > 1) find files common between @ & @{-1}, "ls-tree --full-tree > --name-only -r" both branches, take the intersection > 2) find current branch's commits for common files, for each file in > intersection "log -1 --format=%H $current_branch -- $file" > 3) find common files where latest commits differ, for each file in > intersection keep the file if current branche's latest commit does not > equal prior branch's latest commit > 4) overwrite all kept files with the results of git-archive PS: In large repos, I can dump the entire contents of the repo out of git-archive faster than I can look up the commits of common files between two branches for a more limited and surgical dump from git-archive (say, 30 seconds to dump everything out of git-archive vs. 1 minute 30 seconds to find the intersection of files and look up the latest commits).