\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@sDddlmZddlmZddlmZmZmZmZm Z dZ dZ dZ dZ d Zd d d d gZie d 6e d 6e d 6ed 6ZedZi iededfd6ededfd6d6iededfd6ededfd6d6iededfd6ededfd6d6iededfd6ededfd6d6iededfd6ed edfd6d!6ied"d9fd6ed#d9fd6d$6ied"ed%fd6ed#ed%fd6d&6ied'ed(fd6ed'ed)fd6d*6ied+d9fd6ed+d9fd6d,6ied-d9fd6ed.ed/fd6d06Zdd9d9d1Zdd9ed9d2Zdd9ed9d3Zd4Zd5Zd6Zd7Zd8Zd9S(:i(tabsolute_importi(t_(t bookmarksterrortobsutiltscmutiltstackc C@s|jj}|jj}|jj}t}t||}x|r|j}tj|||}|s|j ||qBxG|D]?} x6| D].} || } | dkr|j | qqWqWqBW|S(sReturn all changesets that may be a new parent for orphan `rev`. This function works fine on non-orphan revisions, it's just silly because there's no destination implied by obsolete markers, so it'll return nothing. i( t changelogtnodet parentrevstrevtsettlisttpopRtsuccessorssetstextendtadd( trepoR ttonodetparentsttorevtdestttovisittrtsuccsetstsstntdr((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pytorphanpossibledestinations           c C@sd}|d}|j}d}|jr|j rtj||j}|rg|D]}|D] }|^qjq`}|jd|j}t j |r|dj}qqn||dfS(s9decide of an update destination from obsolescence markerssmax(%ln)t.N( tNonetp1tobsoletetchildrenRRRtrevstfirstRtisactivewdirparent( RtcleanRtwcRtmovemarkt successorstsubR((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_destupdateobs4s  &cC@sJd}tj|j|\}}|dk r=|j|}n|||fS(s4decide on an update destination from active bookmarkN(RRtcalculateupdatetuit _bookmarks(RR%Rt activemarkR'((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_destupdatebookXs  cC@s|d}d}}|j}|r9|dj}n||jkr|j|}|r{|jd|j}ntj|r|dj}qnA|dkr|j r|jdj}n|dj}||dfS(s_decide on an update destination from current branch This ignores closed branch heads. Rs max(.::(%ln))tdefaultsmax(head() and not closed())N( Rtbrancht branchmapt branchheadsR"R#RR$RR(RR%R&R'Rt currentbranchtheads((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_destupdatebranchas   cC@s|d}|j}d}||jkr|j|dt}|sUtd|jd|j}|dk stdtj |r|dj }qn'|j d}|dk std||dfS( sCdecide on an update destination from closed heads in current branchtcloseds any branch has at least one heads max(.::(%ln))s4any revision has at least one descendant branch headRttips%'tip' exists even in empty repositoryN( RR1R2R3tTruetAssertionErrorR"R#RR$Rtlookup(RR%R&R4R'R5R((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_destupdatebranchfallback{s  t evolutiontbookmarkR1tbranchfallbackcC@shd}}}x:tD]2}t|||\}}}|dk rPqqW||j}|||fS(s"destination for bare update operation return (rev, movemark, activemark) - rev: the revision to update to, - movemark: node to move the active bookmark from (cf bookmark.calculate update), - activemark: a bookmark to activate at the end of the update. N(RtdestupdatestepstdestupdatestepmapR (RR%RR'R.tstepR ((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt destupdates   sTmultiple matching bookmarks to merge - please merge with an explicit rev or bookmarksrun 'hg heads' to see all headstmergesTmultiple matching bookmarks to rebase - please rebase to an explicit rev or bookmarktrebasettoomanybookmarkssMno matching bookmark to merge - please merge with an explicit rev or bookmarksMno matching bookmark to rebase - please rebase to an explicit rev or bookmarktnootherbookmarkss<branch '%s' has %d heads - please merge with an explicit revsrun 'hg heads .' to see headss;branch '%s' has %d heads - please rebase to an explicit revt toomanyheadss8heads are bookmarked - please merge with an explicit revs7heads are bookmarked - please rebase to an explicit revtbookmarkedheadss<branch '%s' has one head - please merge with an explicit revs;branch '%s' has one head - please rebase to an explicit revtnootherbranchheadssnothing to mergesnothing to rebaset nootherheadssuse 'hg update' insteadtnootherheadsbehinds(working directory not at a head revisions2use 'hg update' or merge with an explicit revisions1use 'hg update' or rebase to an explicit revisiont notatheadsssource set is emptytemptysourcesets)source set is rooted in multiple branchess.rebaseset is rooted in multiple named branchess+specify an explicit destination with --desttmultiplebranchessourcesetc C@sd}tj|}|j|j}t|dkra||dkrT|d}q|d}n|t|dkrtd|\}}tj|d|n>t|dkrtd|\}}tj |d|n|dk st |S(s2find merge destination in the active bookmark caseiiiRFthintRGN( RRtheadsforactiveR-t_activebookmarktlent msgdestmergeRtManyMergeDestAborttNoMergeDestAbortR:( Rtactiont sourcesett destspaceRtbmheadstcurheadtmsgRP((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_destmergebook s  c C@sd}|dkr@||jjjg}|jj}n|srtd|\}}tj|d|n|d}xs|jd||D]\} |dk r| j|krtd|\}}tj |d|n| j}qW|j |} |j d|| } |rz| rzt |j dkrNtd|\}}ntd|\}}tj|d|nt|j d | |} t|j d | } |dk rt|j d || } nt | dkr/td |\}}||t | df;}tj |d|n| s| rRtd |\}}njt |j dkrtd|\}}||;}n1| std|\}}ntd|\}}tj|d|n | d}|dk st|S(s,find merge destination based on branch headsRNRPsroots(%ld::%ld)ROs %ld and %lniRLRMs %ln - (%ld::)s%ld - bookmark()s %ld and %ldRHRIRJRKiN(RtdirstateRR R1RTRRVR RUR3R"RSR5tAbortR R:( RRWRXt onheadcheckRYRR1R\RPtctxtbheadstonheadtnbhs((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_destmergebranchsR     c C@s\|jr*t|d|d|d|}n$t|d|d|d|d|}||jS(sreturn the default destination for a merge (or raise exception about why it can't pick one) :action: the action being performed, controls emitted error message RWRXRYR`(RRR]ReR (RRWRXR`RYR((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt destmergefs  cC@sb|jdd}|dkr0tj|}n|rNtj||g}n|r^|jSdS(s0Default base revision to edit for `hg histedit`.thisteditt defaultrevN(tconfigRRtgetstackRtrevrangetmin(R,RR0R"((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt desthisteditxs  cC@s#tj|}|r|jSdS(N(RRjR#R(R,RR"((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt stackbasescC@stj|}|j|j}|jd|rg|D]}||kr8|^q8}|rtd}|j|t||jfqndS(Ns%n and parents()s&%i other divergent bookmarks for "%s" (RRQR-RRR"RtstatusRS(R,RRZR[tbR\((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_statusotherbooks% cC@s+|jj}|j|dt}|j|}|jd|r'|jd|}|djr|jtd||r|jtdt|q$|jtd|q'|r'|d}|j td||j j d d f|j td t||fq'ndS( NR7s%ln and parents()s%ln - parents()RsCno open descendant heads on branch "%s", updating to a closed head sJ(committing will reopen the head, use 'hg heads .' to see %i other heads) s%(committing will reopen branch "%s") supdated to "%s: %s" s is%i other heads for branch "%s" ( R^R1R3R9R"t closesbranchtwarnRRSRot descriptiontsplit(R,RR4tallheadsR5t otherheadsR[((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyt_statusotherbranchheadss&   cC@s*|jrt||n t||dS(sPrint message about other headN(RRRqRx(R,R((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pytstatusotherdestss N(t __future__Rti18nRtRRRRRRR*R/R6R<R@RAtFalseRCRRTR]R9ReRfRmRnRqRxRy(((s8/usr/lib64/python2.7/site-packages/mercurial/destutil.pyts( ! $                              F     !