Changeset 22 in tracdarcs for tracdarcs/changeset.py


Ignore:
Timestamp:
03/04/06 19:33:07 (7 years ago)
Author:
lele@…
Hash name:
20060304183307-7a6fb-2009412b5fb17528a65a0501cb809d1d8540238a
Message:

Take note of renamed parent dirs when looking for ancestor

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tracdarcs/changeset.py

    r21 r22  
    6363                    return c 
    6464 
     65    def _maybeRenamedFrom(self, name): 
     66        """ 
     67        Go thru all changes and determine the original name of a file. 
     68 
     69        This is different from the given name only when a parent 
     70        directory is renamed by this changeset. 
     71        """ 
     72 
     73        for c in self.changes: 
     74            if (c.change == Changeset.MOVE 
     75                and c.kind == Node.DIRECTORY 
     76                and name.startswith(c.path)): 
     77                name = c.ancestor_path + name[len(c.path):] 
     78        return name 
    6579 
    6680def changesets_from_darcschanges(changes, repository, start_revision, 
     
    109123                if prevnode: 
    110124                    break 
     125                else: 
     126                    # If the changeset doesn't know about it, maybe 
     127                    # it renamed one of its parent directories. 
     128                    name = cs._maybeRenamedFrom(name) 
    111129            if prevnode is None: 
    112130                prevnode = repository.get_node(name) 
Note: See TracChangeset for help on using the changeset viewer.