Re: I want to release a "git-1.0"
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jun 1, 2005, 23:03 UTC
- Message-ID
- <7vfyw1isrl.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.62.0506011304001.21267@qynat.qvtvafvgr.pbz>
>>>>> "DL" == David Lang <david.lang@digitalinsight.com> writes:
Show 6 quoted lines
>> 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.