File: //usr/lib/python2.7/dist-packages/hgext/strip.pyc
ó
ÛXc
@@ s d Z d d l m Z d d l m Z d d l m Z m Z m Z m
Z
m Z m
Z
m Z m Z m Z m Z e j Z e j Z i Z e j e Z d Z d d Z e d d Z e e d d d Z e d
d d g e d
e d f d d d e d f d d d e d f d d d e d f d d d e d f d d d e d f d d g e d f g e d d Z d S(! sŽ strip changesets and their descendants from history
This extension allows you to strip changesets and all their descendants from the
repository. See the command help for details.
i ( t absolute_import( t _(
t bookmarkst cmdutilt errort hgt lockt merget nodet repairt scmutilt utils ships-with-hg-corec C@ s g } | d } | r# | | } n | j d } xa t | j D]P } | j | j t | | j k s | j | j rC | j | qC qC W| S( sr return list of subrepos at a different revision than substate.
Abort if any subrepos have uncommitted changes.i N( t Nonet parentst sortedt substatet subt
bailifchangedt Truet dirtyt append( t repot baserevt inclsubst wctxt bctxt s( ( s/ /usr/lib/python2.7/dist-packages/hgext/strip.pyt
checksubstate s
$t c C@ s¢ t j | | j } | s | j sC | j sC | j sC | j ri t d t j t d | n t
| r t d t j t d | q n | S( Ns local changes founds local changed subrepos found( R t checkunfinishedt statust modifiedt addedt removedt deletedR R t AbortR ( R t forcet excsuffixR ( ( s/ /usr/lib/python2.7/dist-packages/hgext/strip.pyt checklocalchanges/ s
$
c C@ s d } } zx| j } | j } | rÏ t | d | | j j | d \ } }
t j | d rŠ |
t k rŠ |
g | j j
D] } | j ^ q
k rŠ |
} n t j
| | | j j | j n t j | | | | | j } | r| j d K }
| j | k r%t j | n x | D]
} | | =q,W| j |
Wd QXx. t | D] } | j t d | q]Wn Wd t | | Xd S( NR$ i t mqt strips bookmark '%s' deleted
( R t wlockR R&