-=[ Mr. Bumblebee ]=-
_Indonesia_

Path : /usr/lib/python2.7/dist-packages/bzrlib/
File Upload :
Current File : //usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyc


8Oc@@sddlmZddlZddlmZeedddlmZmZm	Z	d6Z
d	ejfd
YZe	j
Zejdddejd
ddejdddde_dejfdYZdejfdYZdeeddZdZdefdYZdefdYZdefdYZdefd YZd!efd"YZd#efd$YZd%efd&YZd'efd(YZ d)efd*YZ!d+efd,YZ"d-efd.YZ#d/efd0YZ$d1efd2YZ%d3efd4YZ&ia'd5Z(e(eeee e!e"e#e$e%e&
dS(7i(tabsolute_importN(tlazy_imports
import errno

from bzrlib import (
    cleanup,
    errors,
    osutils,
    rio,
    trace,
    transform,
    workingtree,
    )
from bzrlib.i18n import gettext, ngettext
(tcommandstoptiontregistrys.THISs.BASEs.OTHERt
cmd_conflictscB@sDeZdZdejdddgZddgZeddZRS(	s>List files with conflicts.

    Merge will do its best to combine the changes in two branches, but there
    are some kinds of problems only a human can fix.  When it encounters those,
    it will mark a conflict.  A conflict means that you need to fix something,
    before you can commit.

    Conflicts normally are listed as short, human-readable messages.  If --text
    is supplied, the pathnames of files with text conflicts are listed,
    instead.  (This is useful for editing all files with text conflicts.)

    Use bzr resolve when you have fixed a problem.
    t	directoryttextthelps(List paths of files with text conflicts.tresolvesconflict-typesu.cC@stjj|d}xc|jD]U}|r^|jdkrDq#n|jj|jdq#|jjt|dq#WdS(Nis
text conflicts
(	tworkingtreetWorkingTreetopen_containingt	conflictst
typestringtoutftwritetpathtunicode(tselfRRtwttconflict((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytrunFs(	t__name__t
__module__t__doc__RtOptiont
takes_optionst	_see_alsotFalseR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR1s
tdonesMarks the conflict as resolved.s	take-thist	take_thiss@Resolve the conflict preserving the version in the working tree.s
take-othert
take_others<Resolve the conflict taking the merged version into account.tResolveActionOptioncB@seZdZRS(cC@s)tt|jdddtdtdS(NtactionsHow to resolve the conflict.tvalue_switchesR(tsuperR!t__init__tTruetresolve_action_registry(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR%`s	(RRR%(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR!^stcmd_resolvecB@s_eZdZdgZdgZdejdddegZdgZ	d	ed	d	dZRS(
sMark a conflict as resolved.

    Merge will do its best to combine the changes in two branches, but there
    are some kinds of problems only a human can fix.  When it encounters those,
    it will mark a conflict.  A conflict means that you need to fix something,
    before you can commit.

    Once you have fixed a problem, use "bzr resolve" to automatically mark
    text conflicts as fixed, "bzr resolve FILE" to mark a specific conflict as
    resolved, or "bzr resolve --all" to mark all conflicts as resolved.
    tresolvedsfile*RtallRs#Resolve all conflicts in this tree.R
cC@s|rg|r$tjtdn|dkr9d}ntjj|d}|dkrd}qnTtjj||\}}|dkr|dkrd}qn|dkrd}n|dkrw|dkr|j\}}t	|dkrZt
jtddt	|t	|t
jtdx!|D]}t
jt
|q9Wd	St
jtd
dSqnHt||d|\}	}
t
jtdd
|	|
j|	|
|
dS(Ns.If --all is specified, no FILE may be providedu.iRtautos%d conflict auto-resolved.s%d conflicts auto-resolved.sRemaining conflicts:isAll conflicts resolved.R"s${0} conflict resolved, {1} remainings%{0} conflicts resolved, {1} remaining(terrorstBzrCommandErrortgettexttNoneR
RRtopen_containing_pathstauto_resolvetlenttracetnotetngettextRR	tformat(Rt	file_listR*R"Rttreetun_resolvedR)Rtbeforetafter((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR{sB			

N(
RRRtaliasest
takes_argsRRR!RRR/RR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR(gs			cC@s|jd}z|j}t|}|dkrIt}|}	n|j||||\}}	xP|	D]H}
y!|
j|||
j|Wqntk
r|j	|
qnXqnWyt|}|j
|Wntjk
rnXWd|j
X|dkr|}n||fS(sResolve some or all of the conflicts in a working tree.

    :param paths: If None, resolve all conflicts.  Otherwise, select only
        specified conflicts.
    :param recursive: If True, then elements of paths which are directories
        have all their children resolved, etc.  When invoked as part of
        recursive commands like revert, this should be True.  For commands
        or applications wishing finer-grained control, like the resolve
        command, this should be False.
    :param ignore_misses: If False, warnings will be printed if the supplied
        paths do not have conflicts.
    :param action: How the conflict should be resolved,
    N(tlock_tree_writeR/R
R2tConflictListtselect_conflictst_dotcleanuptNotImplementedErrortappendt
set_conflictsR,tUnsupportedOperationtunlock(R8tpathst
ignore_missest	recursiveR"tnb_conflicts_afterttree_conflictstnb_conflicts_beforet
new_conflictst
to_processR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR	s2
		

	cC@st}ytj|d|t}Wn+tk
rQ}|jtjkrRqRnXytj|dt}Wn+tk
r}|jtjkrqnXytj|dt}Wn+tk
r}|jtjkrqnX|st	j
|ndS(syRestore a conflicted file to the state it was in before merging.

    Only text restoration is supported at present.
    s.THISs.BASEs.OTHERN(RtosutilstrenameR&tOSErrorterrnotENOENTtostunlinkR,t
NotConflicted(tfilenamet
conflictedte((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytrestores*





R?cB@seZdZddZdZdZdZdZdZ	dZ
dZd	Ze
d
ZdZdZd
ZeedZRS(sList of conflicts.

    Typically obtained from WorkingTree.conflicts()

    Can be instantiated from stanzas or from Conflict subclasses.
    cC@s2tj||dkr%g|_n	||_dS(N(tobjectR%R/t_ConflictList__list(RR
((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR%s
cC@st|jdkS(Ni(R2R](R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytis_emptyscC@s
t|jS(N(R2R](R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__len__scC@s
t|jS(N(titerR](R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__iter__
scC@s|j|S(N(R](Rtkey((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__getitem__
scC@s|jj|S(N(R]RD(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRDscC@st|t|kS(N(tlist(Rt
other_list((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__eq__scC@s||kS(N((RRe((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__ne__scC@sd|jS(NsConflictList(%r)(R](R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__repr__scC@s:t}x*|D]"}|jtj|jqW|S(s6Produce a new ConflictList from an iterable of stanzas(R?RDtConflicttfactorytas_dict(tstanzasR
tstanza((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytfrom_stanzass	
 cc@s x|D]}|jVqWdS(sGenerator of stanzasN(t	as_stanza(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt
to_stanzas$s
cc@s x|D]}t|VqWdS(s+Generate strings for the provided conflictsN(R(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt
to_strings)s
cC@s1x*|D]"}|jsqn|j|qWdS(s:Remove the THIS, BASE and OTHER files for listed conflictsN(t	has_filesRB(RR8R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytremove_files.s
	cC@st|}i}t}t}t}	x6|D].}
|j|
}|dk	r4|
||<q4q4Wx,|D]$}t}
xdD]}}t||d}|dkrqn||krt}
|j|n|rtj	||rt}
|j|qqqWxjd	D]b}t||d}|dkr2qny||}Wnt
k
rVqnXt}
|j|qW|
r|	j|qm|j|qmW|tk	rx`g|D]}||kr|^qD]6}
tj
j|j|
sd|
GHqd|
GHqWn||	fS(
sSelect the conflicts associated with paths in a tree.

        File-ids are also used for this.
        :return: a pair of ConflictLists: (not_selected, selected)
        Rt
conflict_pathtfile_idtconflict_file_ids%s does not exists%s is not conflictedN(spaths
conflict_path(sfile_idsconflict_file_id(tsetR?tpath2idR/RtgetattrR&taddRPt
is_inside_anytKeyErrorRDRURtexiststabspath(RR8RHRItrecursetpath_settidstselected_pathsRNtselected_conflictsRRuRtselectedRbtcpathtcfile_idtp((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR@5sR			




,N(RRRR/R%R^R_RaRcRDRfRgRhtstaticmethodRnRpRqRsRR@(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR?s 											RicB@seZdZeZddZdZdZdZ	dZ
dZdZdZ
d	Zed
ZedZdZd
ZdZdZdZdZdZRS(s$Base class for all types of conflictcC@s%||_tj|dt|_dS(Ntwarn(RRPtsafe_file_idRRu(RRRu((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR%qs	cC@sPtjd|jd|j}|jdk	rL|jd|jjdn|S(NttypeRRututf8(triotStanzaRRRuR/Rztdecode(Rts((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRowscC@st||j|jgS(N(RRRu(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt	_cmp_list~scC@s5t|dddkrdSt|j|jS(NRi(RyR/tcmpR(Rtother((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__cmp__scC@stt||j|jfS(N(thashRRRu(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__hash__scC@s|j|dkS(Ni(R(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRfscC@s|j|S(N(Rf(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRgscC@s|j|jS(N(R6t__dict__(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt__unicode__scC@s*t|j}|jj|d<|j|S(Ntclass(tdictRt	__class__Rtrformat(Rtrdict((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRhscK@st||S(N(tctype(Rtkwargs((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRjscC@sX|jdk	r|j|jfSt|dddk	rG|j|jfSd|jfSdS(NRt(RR/RRyRt(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytsort_keys
cC@sMt|d|d}|dkr?t|jjd|n||dS(sApply the specified action to the conflict.

        :param action: The method name to call.

        :param tree: The tree passed as a parameter to the method.
        s	action_%st.N(RyR/RCRR(RR"R8tmeth((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRAscC@st|jdS(s>The names of the files generated to help resolve the conflict.N(RCtassociated_filenames(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@scx\|jD]N}ytj|j|Wq
tk
rZ}|jtjkr[q[q
Xq
WdS(N(RRPt
delete_anyR~RRRSRT(RR8tfnameRZ((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRBscC@sdS(s5Mark the conflict as solved once it has been handled.N((RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytaction_donescC@st|jdS(N(RCtaction_take_this(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@st|jdS(N(RCtaction_take_other(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscO@sHtj|}tj|j}|j|j|j|||dS(N(t	transformt
TreeTransformRBtOperationWithCleanupst_resolvetadd_cleanuptfinalizet
run_simple(RR8targsRttttop((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt_resolve_with_cleanupssN(RRRRRrR/R%RoRRRRfRgRRhRRjRRARRBRRRR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRiks(															tPathConflictcB@sneZdZdZdZdZdddZdZdZ	dZ
dZd	Zd
Z
dZRS(
s-A conflict was encountered merging file pathss
path conflicts+Path conflict: %(path)s / %(conflict_path)ss3%(class)s(%(path)r, %(conflict_path)r, %(file_id)r)cC@s tj|||||_dS(N(RiR%Rt(RRRtRu((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR%scC@s8tj|}|jdk	r4|jd|jn|S(NRt(RiRoRtR/Rz(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRoscC@sgS(N((R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRsc	C@sTd}|dkrV|jdkr%dS|jdkr|j}|jjd}qnc|dkr|jdkrudS|jdkr|j}|jjd}qntd|f|dk	r|j|}tj|||j	|j|||j
||n|j|}|j|}|j
tj||||jdS(sResolve the conflict.

        :param tt: The TreeTransform where the conflict is resolved.
        :param file_id: The retained file id.
        :param path: The retained path.
        :param winner: 'this' or 'other' indicates which side is the winner.
        tthiss	<deleted>NiRisbad winner: %r(R/RRtt_treetget_parent_idstAssertionErrorttrans_id_tree_pathRtcreate_from_treet_revision_treetversion_filettrans_id_file_idtget_tree_parenttadjust_pathRPtbasenametapply(	RRRuRtwinnertpath_to_createtrevidttidt
parent_tid((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs.		cC@s|jjj|S(N(tbrancht
repositoryt
revision_tree(RR8R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR
scC@sg}xH|j|jfD]4}|dkr1qn|dk	r|j|qqWd}x\|jD]N}|j||}x3|D]+}|j|}|dk	r||fSqWqdWdS(Ns	<deleted>(NN(RRtR/RDRRRx(RR8tpossible_pathsRRuRtrevtree((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt_infer_file_ids
cC@so|jdk	r1|j||j|jddn:|j|\}}|j|j|gd|dtdS(NRRtold_treetbackups(RuR/RRRtreverttid2pathR(RR8RRu((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR%s
cC@so|jdk	r1|j||j|jddn:|j|\}}|j|j|gd|dtdS(NRRRR(RuR/RRtRRRR(RR8RRu((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR0s	
N(RRRRR6RR/R%RoRRRRRR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs			'			tContentsConflictcB@sDeZdZeZdZdZdZdZdZ	dZ
RS(sAThe files are of different types (or both binary), or not presentscontents conflictsContents conflict in %(path)scC@sgdD]}|j|^qS(Ns.BASEs.OTHER(s.BASEs.OTHER(R(Rtsuffix((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRFscC@sy%|j|j|jd|Wntjk
r;nXy|jj|j}Wntjk
rqd}nX|j|}|dk	r|j
|}|jtj
|j|||jndS(s"Resolve the conflict.

        :param tt: The TreeTransform where the conflict is resolved.
        :param suffix_to_remove: Either 'THIS' or 'OTHER'

        The resolution is symmetric: when taking THIS, OTHER is deleted and
        item.THIS is renamed into item and vice-versa.
        RN(tdelete_contentsRRR,t
NoSuchFileRRRutNoSuchIdR/RRRPRR(RRtsuffix_to_removet	this_pathtthis_tidR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRIs	
cC@s|j|ddS(NtOTHER(R(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRnscC@s|j|ddS(NtTHIS(R(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRqs(RRRR&RrRR6RRRR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR=s		%	tTextConflictcB@sJeZdZeZdZdZdZdZdZ	dZ
dZRS(sBThe merge algorithm could not resolve all differences encountered.s
text conflictsText conflict in %(path)ss %(class)s(%(path)r, %(file_id)r)cC@sgtD]}|j|^qS(N(tCONFLICT_SUFFIXESR(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@s|j|j}|j|}|jd|}|j|}|j|}|jtj|j|||jtj||||j||j	|j||j
dS(sResolve the conflict by copying one of .THIS or .OTHER into file.

        :param tt: The TreeTransform where the conflict is resolved.
        :param winner_suffix: Either 'THIS' or 'OTHER'

        The resolution is symmetric, when taking THIS, item.THIS is renamed
        into item and vice-versa. This takes one of the files as a whole
        ignoring every difference that could have been merged cleanly.
        RN(RRuRRRRRPRtunversion_fileRR(RRt
winner_suffixtitem_tidtitem_parent_tidtwinner_patht
winner_tidtwinner_parent_tid((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs

cC@s|j|ddS(NR(R(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@s|j|ddS(NR(R(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs(RRRR&RrRR6RRRRR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRws			tHandledConflictcB@s;eZdZdZddZdZdZdZRS(sbA path problem that has been provisionally resolved.
    This is intended to be a base class.
    s,%(class)s(%(action)r, %(path)r, %(file_id)r)cC@s tj|||||_dS(N(RiR%R"(RR"RRu((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR%scC@stj||jgS(N(RiRR"(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@s&tj|}|jd|j|S(NR"(RiRoRzR"(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRoscC@sgS(N((R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRsN(	RRRRR/R%RRoR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs		tHandledPathConflictcB@s5eZdZdZdddZdZdZRS(shA provisionally-resolved path problem involving two paths.
    This is intended to be a base class.
    sU%(class)s(%(action)r, %(path)r, %(conflict_path)r, %(file_id)r, %(conflict_file_id)r)cC@s;tj||||||_tj|dt|_dS(NR(RR%RtRPRRRv(RR"RRtRuRv((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR%s	cC@stj||j|jgS(N(RRRtRv(R((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@sTtj|}|jd|j|jdk	rP|jd|jjdn|S(NRtRvR(RRoRzRtRvR/R(RR((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRos
N(RRRRR/R%RRo(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs	tDuplicateIDcB@seZdZdZdZRS(s Two files want the same file_id.sduplicate ids>Conflict adding id to %(conflict_path)s.  %(action)s %(path)s.(RRRRR6(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRstDuplicateEntrycB@s,eZdZdZdZdZdZRS(s1Two directory entries want to have the same name.t	duplicates=Conflict adding file %(conflict_path)s.  %(action)s %(path)s.cC@s9|j|jgdtdt|j|j|jdS(Ntforcet
keep_files(tremoveRtR&Rt
rename_oneR(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@s#|j|jgdtdtdS(NRR(RRR&R(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs(RRRRR6RR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs
	t
ParentLoopcB@s,eZdZdZdZdZdZRS(sAn attempt to create an infinitely-looping directory structure.
    This is rare, but can be produced like so:

    tree A:
      mv foo bar
    tree B:
      mv bar foo
    merge A and B
    sparent loops<Conflict moving %(path)s into %(conflict_path)s. %(action)s.cC@sdS(N((RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRscC@stj|}z|j|j}|j|}|j|j}|j|}|jtj|j	|||jtj|j
|||jWd|jXdS(N(
RRRRuRRvRRPRRRtRR(RR8Rtp_tidRtcp_tidtcparent_tid((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs
(RRRRR6RR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs
		tUnversionedParentcB@s,eZdZdZdZdZdZRS(sAn attempt to version a file whose parent directory is not versioned.
    Typically, the result of a merge where one tree unversioned the directory
    and the other added a versioned file to it.
    sunversioned parentsTConflict because %(path)s is not versioned, but has versioned children.  %(action)s.cC@sdS(N((RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR#scC@sdS(N((RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR&s(RRRRR6RR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRs
	t
MissingParentcB@s,eZdZdZdZdZdZRS(sAn attempt to add files to a directory that is not present.
    Typically, the result of a merge where THIS deleted the directory and
    the OTHER added a file to it.
    See also: DeletingParent (same situation, THIS and OTHER reversed)
    smissing parents/Conflict adding files to %(path)s.  %(action)s.cC@s#|j|jgdtdtdS(NRR(RRR&R(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR5scC@sdS(N((RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR8s(RRRRR6RR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR*s
	tDeletingParentcB@s,eZdZdZdZdZdZRS(sAn attempt to add files to a directory that is not present.
    Typically, the result of a merge where one OTHER deleted the directory and
    the THIS added a file to it.
    sdeleting parentsEConflict: can't delete %(path)s because it is not empty.  %(action)s.cC@sdS(N((RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRKscC@s#|j|jgdtdtdS(NRR(RRR&R(RR8((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyROs(RRRRR6RR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR=s
	tNonDirectoryParentcB@s,eZdZdZdZdZdZRS(sAn attempt to add files to a directory that is not a directory or
    an attempt to change the kind of a directory with files.
    snon-directory parentsHConflict: %(path)s is not a directory, but has files in it.  %(action)s.cC@sh|jjdrU|jtd }|j|jgdtdt|j|nt|jdS(Ns.newRR(	RtendswithR2RR&RRzRCR(RR8Rt((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyR_s
cC@sk|jjdrX|jtd }|j|gdtdt|j|j|nt|jdS(Ns.newRR(	RRR2RR&RRRCR(RR8Rt((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRhs
(RRRRR6RR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyRSs
		cG@s"x|D]}|t|j<qWdS(s7Register a Conflict subclass for serialization purposesN(RR(tconflict_typest
conflict_type((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pytregister_typesus
(s.THISs.BASEs.OTHER()t
__future__RRUtbzrlib.lazy_importRtglobalstbzrlibRRRRtCommandRtRegistryR'tregistertdefault_keytRegistryOptionR!R(R/RR	R[R\R?RiRRRRRRRRRRRRRR(((s4/usr/lib/python2.7/dist-packages/bzrlib/conflicts.pyt<module>sR	
 
		F	+	vdn:/"	

Copyright © 2017 || Recoded By Mr.Bumblebee