Changeset 78 in tailor


Ignore:
Timestamp:
07/12/04 15:20:15 (9 years ago)
Author:
lele@…
Hash name:
20040712132015-97f81-ab52233e6009a68c307a5af1c2279b73fb8d61f5
Message:

Recognize deleted (dead) entries in the cvs log

Location:
vcpx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • vcpx/cvs.py

    r77 r78  
    118118 
    119119        info = log.readline().split(';') 
     120 
     121        assert info[0][:6] == 'date: ' 
    120122         
    121123        day,time = info[0][6:].split(' ') 
     
    123125        hh,mm,ss = map(int, time.split(':')) 
    124126        date = datetime(y,m,d,hh,mm,ss) 
     127 
     128        assert info[1].strip()[:8] == 'author: ' 
     129 
    125130        author = info[1].strip()[8:] 
     131 
     132        assert info[2].strip()[:7] == 'state: ' 
     133 
     134        state = info[2].strip()[7:] 
     135         
    126136        mesg = [] 
    127137        l = log.readline() 
     
    167177            cs = self.__parseRevision(entry, log) 
    168178            while cs: 
    169                 date,author,changelog,e,rev = cs 
     179                date,author,changelog,e,rev,state = cs 
    170180 
    171181                last = self.__collect(date, author, changelog, e, rev) 
    172                 last.action_kind = last.UPDATED 
     182                if state == 'dead': 
     183                    last.action_kind = last.DELETED 
     184                else: 
     185                    last.action_kind = last.UPDATED 
    173186                 
    174187                cs = self.__parseRevision(entry, log) 
  • vcpx/tests/cvs.py

    r77 r78  
    55# :Autore:   Lele Gaifax <lele@nautilus.homeip.net> 
    66#  
    7  
    8 """ 
    9 """ 
    10  
    11 __docformat__ = 'reStructuredText' 
    127 
    138from unittest import TestCase, TestSuite 
     
    9792""" 
    9893     
     94    DELETED_TEST = """\ 
     95RCS file: /cvsroot/docutils/docutils/THANKS.txt,v 
     96Working file: THANKS.txt 
     97head: 1.2 
     98branch: 
     99locks: strict 
     100access list: 
     101symbolic names: 
     102keyword substitution: kv 
     103total revisions: 2;      selected revisions: 2 
     104description: 
     105---------------------------- 
     106revision 1.2 
     107date: 2004/06/10 02:17:20;  author: goodger;  state: dead;  lines: +3 -2 
     108updated 
     109---------------------------- 
     110revision 1.1 
     111date: 2004/06/03 13:50:58;  author: goodger;  state: Exp; 
     112Added to project (exctracted from HISTORY.txt) 
     113============================================================================= 
     114""" 
     115 
    99116    def testBasicBehaviour(self): 
    100117        """Verify basic cvs log parser behaviour""" 
     
    122139        self.assertEqual(entry.action_kind, entry.UPDATED) 
    123140        
    124     def testDoubleBehaviour(self): 
    125         """Verify cvs log parser behaviour""" 
     141    def testGroupingCapability(self): 
     142        """Verify cvs log parser grouping capability""" 
    126143 
    127144        log = StringIO(self.DOUBLE_TEST) 
     
    157174        self.assertEqual(cset.author, "felixwiemann") 
    158175        self.assertEqual(cset.date, datetime(2004, 6, 20, 16, 3, 17)) 
     176 
     177    def testDeletedEntry(self): 
     178        """Verify recognition of deleted entries in the cvs log""" 
     179 
     180        log = StringIO(self.DELETED_TEST) 
     181        csets = changesets_from_cvslog(log) 
     182 
     183        cset = csets.next() 
     184        entry = cset.entries[0] 
     185        self.assertEqual(entry.action_kind, entry.ADDED) 
     186         
     187        cset = csets.next() 
     188        entry = cset.entries[0] 
     189        self.assertEqual(entry.action_kind, entry.DELETED) 
Note: See TracChangeset for help on using the changeset viewer.