From: Junio C Hamano Date: Wed, 01 Jun 2005 23:03:58 GMT Subject: Re: I want to release a "git-1.0" Message-ID: <7vfyw1isrl.fsf@assigned-by-dhcp.cox.net> In-Reply-To: >>>>> "DL" == David Lang writes: >> Internally, git-diff-cache -B -C is used which does use the >> deltify to locate complete rewrites, renames and copies (that's >> why the script is so slow). For passing on and assigning blames >> line by line, parsing "diff --unified=0" output was a lot easier >> for this script and that was what I did in this quick-and-dirty >> version. DL> I was under the impressin that the deltafy stuff was significantly DL> faster then you are suggeting that it is here I perhaps phrased it poorly. The slow part is not a single delta operation, but having to run many delta operations between all combinations of rename/copy candidates, which is O(n * m) where n is the number of newly created files (counting "broken" ones created by -B flag) and m is the number of (deleted, modified and unmodified) files in the original tree.