114 'Source': '{root}/{file},v', |
114 'Source': '{root}/{file},v', |
115 'Id': '{file|basename},v {node|short} {date|utcdate} {author|user}', |
115 'Id': '{file|basename},v {node|short} {date|utcdate} {author|user}', |
116 'Header': '{root}/{file},v {node|short} {date|utcdate} {author|user}', |
116 'Header': '{root}/{file},v {node|short} {date|utcdate} {author|user}', |
117 } |
117 } |
118 |
118 |
119 def __init__(self, ui, repo, inc, exc, restricted): |
119 def __init__(self, ui, repo, inc, exc, restrict): |
120 self.ui = ui |
120 self.ui = ui |
121 self.repo = repo |
121 self.repo = repo |
122 self.matcher = util.matcher(repo.root, inc=inc, exc=exc)[1] |
122 self.matcher = util.matcher(repo.root, inc=inc, exc=exc)[1] |
123 self.restricted = restricted |
123 self.restrict = restrict |
124 self.commitnode = None |
124 self.commitnode = None |
125 self.path = '' |
125 self.path = '' |
126 |
126 |
127 kwmaps = self.ui.configitems('keywordmaps') |
127 kwmaps = self.ui.configitems('keywordmaps') |
128 if kwmaps: # override default templates |
128 if kwmaps: # override default templates |
157 |
157 |
158 return subfunc(kwsub, data) |
158 return subfunc(kwsub, data) |
159 |
159 |
160 def expand(self, node, data): |
160 def expand(self, node, data): |
161 '''Returns data with keywords expanded.''' |
161 '''Returns data with keywords expanded.''' |
162 if self.restricted or util.binary(data): |
162 if self.restrict or util.binary(data): |
163 return data |
163 return data |
164 return self.substitute(node, data, self.re_kw.sub) |
164 return self.substitute(node, data, self.re_kw.sub) |
165 |
165 |
166 def process(self, node, data, expand): |
166 def process(self, node, data, expand): |
167 '''Returns a tuple: data, count. |
167 '''Returns a tuple: data, count. |
434 exc.append(pat) |
434 exc.append(pat) |
435 if not inc: |
435 if not inc: |
436 return |
436 return |
437 |
437 |
438 global _kwtemplater |
438 global _kwtemplater |
439 _restricted = hgcmd in restricted.split() |
439 restrict = hgcmd in restricted.split() |
440 _kwtemplater = kwtemplater(ui, repo, inc, exc, _restricted) |
440 _kwtemplater = kwtemplater(ui, repo, inc, exc, restrict) |
441 |
441 |
442 class kwrepo(repo.__class__): |
442 class kwrepo(repo.__class__): |
443 def file(self, f, kwmatch=False): |
443 def file(self, f, kwmatch=False): |
444 if f[0] == '/': |
444 if f[0] == '/': |
445 f = f[1:] |
445 f = f[1:] |
447 return kwfilelog(self.sopener, f) |
447 return kwfilelog(self.sopener, f) |
448 return filelog.filelog(self.sopener, f) |
448 return filelog.filelog(self.sopener, f) |
449 |
449 |
450 def wread(self, filename): |
450 def wread(self, filename): |
451 data = super(kwrepo, self).wread(filename) |
451 data = super(kwrepo, self).wread(filename) |
452 if _restricted and _kwtemplater.matcher(filename): |
452 if restrict and _kwtemplater.matcher(filename): |
453 return _kwtemplater.shrink(data) |
453 return _kwtemplater.shrink(data) |
454 return data |
454 return data |
455 |
455 |
456 def commit(self, files=None, text='', user=None, date=None, |
456 def commit(self, files=None, text='', user=None, date=None, |
457 match=util.always, force=False, force_editor=False, |
457 match=util.always, force=False, force_editor=False, |