\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@sdZddlmZddlmZddlmZmZmZm Z m Z m Z m Z m Z iZe jeZeddddd Zd Zd Zd Zd S(sxcheck for unrecorded moves at commit time (EXPERIMENTAL) This extension checks at commit/amend time if any of the committed files comes from an unrecorded mv. The threshold at which a file is considered a move can be set with the ``automv.similarity`` config option. This option takes a percentage between 0 (disabled) and 100 (files must be identical), the default is 95. i(tabsolute_import(t_(tcommandstcopiesterrort extensionstpycompatt registrartscmutiltsimilartautomvt similaritytdefaulti_cC@s?tjtjdt}|djdddtdfdS(Ntcommitits no-automvs%disable automatic file move detection(Rt wrapcommandRttabletmvchecktappendtNoneR(tuitentry((s2/usr/lib64/python2.7/site-packages/hgext/automv.pytextsetup0s   c O@s'tj|}d}|jdt}|s|jdd}d|koVdknsstjtdn|dkrt j |d||}t ||\} } t ||| | |d}qn|j F|dk rt j|d d |n||||tj|SWdQXdS( s&Hook to check for moves at commit timet no_automvR R iids+automv.similarity must be between 0 and 100gY@N(((Rt byteskwargsRtpoptFalset configintRtAbortRRtmatcht_interestingfilest _findrenamestwlockt _markchangest strkwargs( torigRtrepotpatstoptstrenamestdisabledt thresholdRtaddedtremoved((s2/usr/lib64/python2.7/site-packages/hgext/automv.pyR7s    cC@sr|jd|}|d}|d}tj|d|d|}g|D]}||krJ|^qJ}||fS(sFind what files were added or removed in this commit. Returns a tuple of two lists: (added, removed). Only files not *already* marked as moved are included in the added list. Riit.N(tstatusRt_forwardcopiesR(R$tmatchertstatR*R+tcopytf((s2/usr/lib64/python2.7/site-packages/hgext/automv.pyRKs   %c C@si}|dkrx~tj||||D]a\}}}|jjr|jjtd|j||j||dfn|||s :