Changeset 27 in tracdarcs


Ignore:
Timestamp:
08/01/06 01:05:35 (6 years ago)
Author:
sreeram@…
Hash name:
20060731230535-05313-eff320209f0731526246388d97f50cefe415eb98
Message:

Major rehaul of the code

  • uses separate db tables
  • uses ann2ascii for fetching file contents
Location:
tracdarcs
Files:
7 added
4 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • tracdarcs/components.py

    r18 r27  
    1919from trac.db import Table, Column, Index, DatabaseManager 
    2020 
    21 from tracdarcs.repos import DarcsRepository 
    22 from tracdarcs.cache import DarcsCachedRepository 
     21from tracdarcs.repository import DarcsRepository 
     22 
     23# FIXME: fix docstrings 
    2324 
    2425class DarcsConnector(Component): 
     
    3536        """Return a `DarcsRepository`, wrapped by a `DarcsCachedRepository`""" 
    3637        db = self.env.get_db_cnx() 
    37         repos = DarcsRepository(db, dir, self.env.log, self.env.config) 
    38         return DarcsCachedRepository(db, repos, None, self.log) 
     38        return DarcsRepository( db, dir, self.env.log, self.env.config ) 
    3939 
    4040class DarcsSetup(Component): 
     
    5959        c = db.cursor() 
    6060        try: 
    61             c.execute('SELECT hash FROM revision_hash WHERE rev=1') 
     61            c.execute( 'SELECT hash FROM darcs_revisions WHERE rev=1' ) 
    6262            return False 
    6363        except: 
     
    6767        """Actually add the new "hash" field to the revision table.""" 
    6868 
    69         htable = Table('revision_hash', key='rev')[Column('rev'), 
    70                                                    Column('hash', 
    71                                                           type='char(64)'), 
    72                                                    Index(['hash'])] 
     69        rtable = Table( 'darcs_revisions', key='rev' )[ 
     70                Column('rev',type='int'), 
     71                Column('author'), 
     72                Column('time',type='int'), 
     73                Column('hash'), 
     74                Column('name'), 
     75                Column('comment') ] 
     76        ntable = Table( 'darcs_nodes', key='node_id' )[ 
     77                Column('node_id',type='int'), 
     78                Column('node_type'), 
     79                Column('add_rev',type='int'), 
     80                Column('remove_rev',type='int') ] 
     81        ctable = Table( 'darcs_node_changes', key=('node_id','rev') )[ 
     82                Column('node_id',type='int'), 
     83                Column('rev',type='int'), 
     84                Column('path'), 
     85                Column('parent_id',type='int'), 
     86                Column('change') ] 
    7387        connector = DatabaseManager(self.env)._get_connector()[0] 
    7488        c = db.cursor() 
    75         for stmt in connector.to_sql(htable): 
    76             c.execute(stmt) 
     89        for t in [rtable,ntable,ctable] : 
     90            for stmt in connector.to_sql(t) : 
     91                c.execute( stmt ) 
Note: See TracChangeset for help on using the changeset viewer.