comparison mercurial/hgweb/hgweb_mod.py @ 2873:4ec58b157265

refactor text diff/patch code. rename commands.dodiff to patch.diff. rename commands.doexport to patch.export. move some functions from commands to new mercurial.cmdutil module. turn list of diff options into mdiff.diffopts class. patch.diff and patch.export now has clean api for call from 3rd party python code.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Sat, 12 Aug 2006 16:13:27 -0700
parents 345bac2bc4ec
children cf86bbb8ed68
comparison
equal deleted inserted replaced
2872:5dd6631c8238 2873:4ec58b157265
132 modified, added, removed, deleted, unknown = r.changes(node1, node2) 132 modified, added, removed, deleted, unknown = r.changes(node1, node2)
133 if files: 133 if files:
134 modified, added, removed = map(lambda x: filterfiles(files, x), 134 modified, added, removed = map(lambda x: filterfiles(files, x),
135 (modified, added, removed)) 135 (modified, added, removed))
136 136
137 diffopts = self.repo.ui.diffopts() 137 diffopts = ui.diffopts()
138 showfunc = diffopts['showfunc']
139 ignorews = diffopts['ignorews']
140 ignorewsamount = diffopts['ignorewsamount']
141 ignoreblanklines = diffopts['ignoreblanklines']
142 for f in modified: 138 for f in modified:
143 to = r.file(f).read(mmap1[f]) 139 to = r.file(f).read(mmap1[f])
144 tn = r.file(f).read(mmap2[f]) 140 tn = r.file(f).read(mmap2[f])
145 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, 141 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f,
146 showfunc=showfunc, ignorews=ignorews, 142 opts=diffopts), f, tn)
147 ignorewsamount=ignorewsamount,
148 ignoreblanklines=ignoreblanklines), f, tn)
149 for f in added: 143 for f in added:
150 to = None 144 to = None
151 tn = r.file(f).read(mmap2[f]) 145 tn = r.file(f).read(mmap2[f])
152 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, 146 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f,
153 showfunc=showfunc, ignorews=ignorews, 147 opts=diffopts), f, tn)
154 ignorewsamount=ignorewsamount,
155 ignoreblanklines=ignoreblanklines), f, tn)
156 for f in removed: 148 for f in removed:
157 to = r.file(f).read(mmap1[f]) 149 to = r.file(f).read(mmap1[f])
158 tn = None 150 tn = None
159 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, 151 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f,
160 showfunc=showfunc, ignorews=ignorews, 152 opts=diffopts), f, tn)
161 ignorewsamount=ignorewsamount,
162 ignoreblanklines=ignoreblanklines), f, tn)
163 153
164 def changelog(self, pos, shortlog=False): 154 def changelog(self, pos, shortlog=False):
165 def changenav(**map): 155 def changenav(**map):
166 def seq(factor, maxchanges=None): 156 def seq(factor, maxchanges=None):
167 if maxchanges: 157 if maxchanges: