ó €ˆtPc@sQddlmZmZddlmZddlZddlZded„Z dS(iÿÿÿÿ(tnullidtshort(t_NcCs»|jj}g}tƒ}tƒ}tƒ}tƒ} |sK|jƒ}n|jjƒtkr¥| jtƒ|tgkr•tgtgt|ƒfStgg|fS|jj t dƒƒg} x7|D]/} | |krê| j | ƒqÈ| j| ƒqÈW| st| ƒgt|ƒfSt| ƒ} d} t j |j| ƒƒ} xü| rBg}x| rW| jƒ}|d|kr~qVn|jjdt|dƒt|dƒfƒ|dtkr¿n„||krá|jjdƒqVnb|drM|d|krM|jjdt|dƒt|dƒfƒ|j |dd!ƒ|j|ƒnö|d|krö|d|krö|d|kr¿|d|kr¿|jjd t|dƒƒ|j|dƒnx4|dd !D]"}||krÍ| j|ƒqÍqÍWnxJ|dd !D];}|| kr||kr|j |ƒ| j|ƒqqW|j|dƒqVW|rG| d7} |jjt d ƒ| d t d ƒƒ|jjd| djtt|ƒƒfƒxƒtdt|ƒdƒD]f}x]|j|||d!ƒD]A}|jjdt|dƒt|dƒfƒ| j |ƒqóWqÒWqGqGWxf|r«g}| d7} |jjt d ƒ| d t d ƒƒx$t||j|ƒƒD] \}}|j |dƒ|d}d}xÔ|D]Ì}|jjd|t|ƒt|ƒfƒ||kr‰|dkrL|jjdt|ƒƒ|j|ƒ| j|ƒn9|jjdt|ƒt|ƒfƒ|j ||fƒPn||d}}qÎW|}qšWqFWx@|D]8}||kr³tjt dƒt|d ƒƒ‚q³q³Wt| ƒ} | tgkrA|r)|jjt dƒƒqAt jt dƒƒ‚n|jjddjg|D]}t|ƒ^qZƒdƒ|jjt d ƒdƒ|jjd| ƒ| t|ƒ|fS(snReturn a tuple (common, fetch, heads) used to identify the common subset of nodes between repo and remote. "common" is a list of (at least) the heads of the common subset. "fetch" is a list of roots of the nodes that would be incoming, to be supplied to changegroupsubset. "heads" is either the supplied heads, or else the remote's heads. ssearching for changes isexamining %s:%s isbranch already found sfound incomplete branch %s:%s iisfound new changeset %s it searchingtunittqueriessrequest %d: %s t i sreceived %s:%s snarrowing %d:%d %s sfound new branch changeset %s s narrowed branch search to %s:%s salready have changeset s!warning: repository is unrelated srepository is unrelateds!found new changesets starting at s s%d total queries N(t changelogtnodemaptsettheadsttipRtaddtlisttuitstatusRtappendtutiltdequetbranchestpoplefttdebugRtprogresstjointmaptxrangetlentziptbetweenterrort RepoErrortwarntAborttNone(trepotremoteR tforcetmtsearchtfetchtseent seenbranchtbasetunknownthtreqtreqcnttrtntptbt newsearchtltfti((s;/sys/lib/python2.7/site-packages/mercurial/treediscovery.pytfindcommonincoming sÊ             "  "      %  ! "  %%  )         1( tnodeRRti18nRRRR!tFalseR7(((s;/sys/lib/python2.7/site-packages/mercurial/treediscovery.pyts