Mercurial > public > mercurial-scm > hg
comparison mercurial/hgweb.py @ 536:c15b4bc0a11c
Refactor diffrevs/diffdir into changes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Refactor diffrevs/diffdir into changes
Add dirstate.changes to replace most of diffdir
Add localrepository.changes to replace diffrevs/diffdir
This code can now efficiently check for changes in single files, and
often without consulting the manifest. This should eventually make 'hg
diff Makefile' in a large project much faster.
This also fixes a bug where 'hg diff -r tip' failed to account for
files that had been added but not committed yet.
manifest hash: 20fde5d4b4cee49a76bcfe50f2dacf58b1f2258b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxMxpywK+sNU5EO8RAhzOAJ9VLQJoC+hiRYQtTSPbDhXBEJfQZwCgpDx9
GAwQ9jZHNsgXckBfXNCkJV8=
=hMuc
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Thu, 30 Jun 2005 20:54:01 -0800 |
parents | ab0d1bfeee7c |
children | 7140bc781655 |
comparison
equal
deleted
inserted
replaced
535:fba26990604a | 536:c15b4bc0a11c |
---|---|
192 mmap1 = mf.read(change1[0]) | 192 mmap1 = mf.read(change1[0]) |
193 mmap2 = mf.read(change2[0]) | 193 mmap2 = mf.read(change2[0]) |
194 date1 = self.date(change1) | 194 date1 = self.date(change1) |
195 date2 = self.date(change2) | 195 date2 = self.date(change2) |
196 | 196 |
197 c, a, d = r.diffrevs(node1, node2) | 197 c, a, d = r.changes(node1, node2) |
198 c, a, d = map(lambda x: filterfiles(x, files), (c, a, d)) | 198 c, a, d = map(lambda x: filterfiles(x, files), (c, a, d)) |
199 | 199 |
200 for f in c: | 200 for f in c: |
201 to = r.file(f).read(mmap1[f]) | 201 to = r.file(f).read(mmap1[f]) |
202 tn = r.file(f).read(mmap2[f]) | 202 tn = r.file(f).read(mmap2[f]) |