Mon, 25 Jul 2011 15:55:51 -0500 url: replace uses of hasattr with safehasattr or getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:55:51 -0500] rev 14964
url: replace uses of hasattr with safehasattr or getattr
Mon, 25 Jul 2011 15:53:22 -0500 subrepo: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:53:22 -0500] rev 14963
subrepo: use safehasattr instead of hasattr Some of these instances could be rewritten as clever getattr(x, y, default) ladders, but that felt like it impeded readability too much to be worth the modest efficiency gain.
Mon, 25 Jul 2011 15:47:43 -0500 statichttprepo: replace hasattr with getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:47:43 -0500] rev 14962
statichttprepo: replace hasattr with getattr
Mon, 25 Jul 2011 15:45:11 -0500 walkrepos: use getattr instead of hasattr for samestat
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:45:11 -0500] rev 14961
walkrepos: use getattr instead of hasattr for samestat
Mon, 25 Jul 2011 15:43:55 -0500 revlog: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:43:55 -0500] rev 14960
revlog: use getattr instead of hasattr
Mon, 25 Jul 2011 15:41:46 -0500 lsprof: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:41:46 -0500] rev 14959
lsprof: use getattr instead of hasattr
Mon, 25 Jul 2011 20:36:59 -0500 keepalive: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:36:59 -0500] rev 14958
keepalive: use safehasattr instead of hasattr
Mon, 25 Jul 2011 15:38:46 -0500 hgweb: move remaining hasattr calls to safehasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:38:46 -0500] rev 14957
hgweb: move remaining hasattr calls to safehasattr
Mon, 25 Jul 2011 15:38:10 -0500 wsgicgi: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:38:10 -0500] rev 14956
wsgicgi: use getattr instead of hasattr
Mon, 25 Jul 2011 15:37:52 -0500 httprepo: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:37:52 -0500] rev 14955
httprepo: use getattr instead of hasattr
Mon, 25 Jul 2011 15:36:13 -0500 help command: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:36:13 -0500] rev 14954
help command: use safehasattr instead of hasattr
Mon, 25 Jul 2011 16:27:08 -0500 hgweb_mod: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:27:08 -0500] rev 14953
hgweb_mod: use safehasattr instead of hasattr
Mon, 25 Jul 2011 15:22:18 -0500 hg: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:22:18 -0500] rev 14952
hg: use safehasattr instead of hasattr
Mon, 25 Jul 2011 15:19:43 -0500 encoding: use getattr isntead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:19:43 -0500] rev 14951
encoding: use getattr isntead of hasattr
Mon, 25 Jul 2011 15:17:47 -0500 dispatch: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:17:47 -0500] rev 14950
dispatch: use safehasattr instead of hasattr
Mon, 25 Jul 2011 16:36:56 -0500 debugignore: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:36:56 -0500] rev 14949
debugignore: use getattr instead of hasattr
Mon, 25 Jul 2011 15:32:42 -0500 cmdutil: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:32:42 -0500] rev 14948
cmdutil: use safehasattr instead of hasattr
Mon, 25 Jul 2011 15:09:17 -0500 byterange: replace uses of hasattr with getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:09:17 -0500] rev 14947
byterange: replace uses of hasattr with getattr
Mon, 25 Jul 2011 15:07:09 -0500 bookmarks: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:07:09 -0500] rev 14946
bookmarks: use getattr instead of hasattr
Mon, 25 Jul 2011 20:37:12 -0500 hgext: replace uses of hasattr with util.safehasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:37:12 -0500] rev 14945
hgext: replace uses of hasattr with util.safehasattr
Mon, 25 Jul 2011 15:30:19 -0500 globally: use safehasattr(x, '__iter__') instead of hasattr(x, '__iter__')
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:30:19 -0500] rev 14944
globally: use safehasattr(x, '__iter__') instead of hasattr(x, '__iter__')
Mon, 25 Jul 2011 16:24:37 -0500 globally: use safehasattr(x, '__call__') instead of hasattr(x, '__call__')
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:24:37 -0500] rev 14943
globally: use safehasattr(x, '__call__') instead of hasattr(x, '__call__')
Mon, 25 Jul 2011 14:59:55 -0500 safehasattr: new function to work around hasattr being broken
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 14:59:55 -0500] rev 14942
safehasattr: new function to work around hasattr being broken
Mon, 25 Jul 2011 16:14:02 -0500 windows: check util.mainfrozen() instead of ad-hoc checks everywhere
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:14:02 -0500] rev 14941
windows: check util.mainfrozen() instead of ad-hoc checks everywhere
Tue, 26 Jul 2011 21:30:12 +0200 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com> [Tue, 26 Jul 2011 21:30:12 +0200] rev 14940
notify: rewrite user documentation The main intent is to turn the reference help into a configuration walkthrough. It also fix several things: - Do not suggest to use it for commit notifications, it cannot work - Fix notify.strip default value - Mention that subscriptions can be setup in Mercurial configuration files - Improve notify.strip and notify.domain documentation
Mon, 25 Jul 2011 22:19:28 +0300 cmdserver: repo.invalidate() on every runcommand
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 22:19:28 +0300] rev 14939
cmdserver: repo.invalidate() on every runcommand This will trigger the filecache and recreate every cached property that was changed by something other than this cmdserver instance (e.g. by running 'hg commit' at the cmdline).
Mon, 25 Jul 2011 08:28:37 +0200 help: add "web/logoimg" setting description
Angel Ezquerra <angel.ezquerra@gmail.com> [Mon, 25 Jul 2011 08:28:37 +0200] rev 14938
help: add "web/logoimg" setting description
Mon, 25 Jul 2011 12:58:47 -0500 filecache: fix check-code complaint
Matt Mackall <mpm@selenic.com> [Mon, 25 Jul 2011 12:58:47 -0500] rev 14937
filecache: fix check-code complaint
Mon, 25 Jul 2011 15:08:57 +0300 localrepo: unify tag related info into a tagscache class
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:57 +0300] rev 14936
localrepo: unify tag related info into a tagscache class
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: make invalidate() walk _filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14935
localrepo: make invalidate() walk _filecache
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate manifest() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14934
localrepo: decorate manifest() with filecache
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate _bookmarks/current with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14933
localrepo: decorate _bookmarks/current with filecache nodebookmarks() can be cached as well, leaving for later
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate changelog() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14932
localrepo: decorate changelog() with filecache
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: refresh filecache entries after releasing a repo.lock()
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14931
localrepo: refresh filecache entries after releasing a repo.lock()
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate dirstate() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14930
localrepo: decorate dirstate() with filecache We refresh the stat info when releasing repo.wlock(), right after writing it. Also, invalidate the dirstate by deleting its attribute. This will force a stat by the decorator that actually checks if anything changed, rather than reading it again every time. Note that prior to this, there was a single dirstate instance created for a localrepo. It was invalidated by calling dirstate.invalidated(), clearing its internal attributes. As a consequence, the following construct is no longer safe: ds = repo.dirstate # keep a reference to the repo's dirstate wlock = repo.wlock() try: ds.setparents(...) finally: wlock.release() # dirstate should be written here Since it's possible that the dirstate was modified between lines #1 and #2, therefore changes to the old dirstate won't get written when the lock releases, because a new instance was created by the decorator.
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: add a cache with stat info for files under .hg/
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14929
localrepo: add a cache with stat info for files under .hg/
Sat, 09 Jul 2011 19:06:59 +0300 scmutil: introduce filecache
Idan Kamara <idankk86@gmail.com> [Sat, 09 Jul 2011 19:06:59 +0300] rev 14928
scmutil: introduce filecache The idea is being able to associate a file with a property, and watch that file stat info for modifications when we decide it's important for it to be up-to-date. Once it changes, we recreate the object. On filesystems that can't uniquely identify a file, we always recreate. As a consequence, localrepo.invalidate() will become much less expensive in the case where nothing changed on-disk.
Mon, 25 Jul 2011 15:03:02 +0300 posix, windows: introduce cachestat
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:03:02 +0300] rev 14927
posix, windows: introduce cachestat This class contains a stat result, and possibly other file info to reliably determine between two points in time whether a file has changed. Uniquely identifying a file gives us that reliability because we either atomic rename or append. So one of two will happen: the file 'id' will change, or the size of the file will change. posix implements it simply by calling os.stat() and checking if the result has st_ino. For now on Windows we always assume the path is uncacheable. This can be improved on NTFS due to file IDs: http://msdn.microsoft.com/en-us/library/aa363788(v=vs.85).aspx So we need to find out if a file path is on an NTFS drive, for that we have: - GetVolumeInformation, which unfortunately only works with a root path (but is available on XP) - GetVolumeInformationByHandleW, works on a full file path but requires Vista or higher
Sat, 23 Jul 2011 12:29:52 +0200 util: eliminate wildcard imports
Adrian Buehlmann <adrian@cadifra.com> [Sat, 23 Jul 2011 12:29:52 +0200] rev 14926
util: eliminate wildcard imports
Sat, 23 Jul 2011 14:33:35 -0500 templater: use a global funcs table
Matt Mackall <mpm@selenic.com> [Sat, 23 Jul 2011 14:33:35 -0500] rev 14925
templater: use a global funcs table
Sat, 23 Jul 2011 06:09:14 +0200 ui: config path relative to repo root
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:09:14 +0200] rev 14924
ui: config path relative to repo root
Sat, 23 Jul 2011 06:08:52 +0200 ui: providing no default value to configpath should not raise an Error
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:08:52 +0200] rev 14923
ui: providing no default value to configpath should not raise an Error
Sat, 23 Jul 2011 06:08:49 +0200 ui: fix error, base can not be a list
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:08:49 +0200] rev 14922
ui: fix error, base can not be a list
Sat, 23 Jul 2011 11:52:25 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 23 Jul 2011 11:52:25 -0500] rev 14921
merge with stable
Fri, 22 Jul 2011 20:31:15 -0300 test-i18n, i18n-pt_BR: updated test message changed in 41c3a71c318d stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jul 2011 20:31:15 -0300] rev 14920
test-i18n, i18n-pt_BR: updated test message changed in 41c3a71c318d
Fri, 22 Jul 2011 20:27:40 -0300 i18n-pt_BR: synchronized with a934b9249574 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jul 2011 20:27:40 -0300] rev 14919
i18n-pt_BR: synchronized with a934b9249574
Fri, 22 Jul 2011 17:17:23 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 17:17:23 -0500] rev 14918
merge with stable
Thu, 21 Jul 2011 15:56:15 -0500 rebase: remove trailing whitespace found by check-code stable
Augie Fackler <durin42@gmail.com> [Thu, 21 Jul 2011 15:56:15 -0500] rev 14917
rebase: remove trailing whitespace found by check-code
Fri, 22 Jul 2011 08:03:47 -0700 hooks: use python 2.4 compatible exception handling stable
Lee Cantey <lcantey@gmail.com> [Fri, 22 Jul 2011 08:03:47 -0700] rev 14916
hooks: use python 2.4 compatible exception handling
Fri, 22 Jul 2011 17:11:35 -0500 url: handle urls of the form file:///c:/foo/bar/ correctly stable
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 17:11:35 -0500] rev 14915
url: handle urls of the form file:///c:/foo/bar/ correctly
Thu, 21 Jul 2011 16:02:34 -0400 dispatch: avoid double backslashes in error message stable
David Golub <davidg@fogcreek.com> [Thu, 21 Jul 2011 16:02:34 -0400] rev 14914
dispatch: avoid double backslashes in error message The use of %r in the format string caused Python to display Windows paths with double backslashes.
Thu, 21 Jul 2011 15:10:16 +0200 hgweb: add a "web/logoimg" setting to customize the web logo image
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 21 Jul 2011 15:10:16 +0200] rev 14913
hgweb: add a "web/logoimg" setting to customize the web logo image This change complements the existing web/logourl setting, and lets the user customize the logo image that is shown on many of the hg server pages. If this setting is not set, hglogo.png is used.
Thu, 21 Jul 2011 11:05:26 +0200 util: move windows and posix wildcard imports to begin of file
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Jul 2011 11:05:26 +0200] rev 14912
util: move windows and posix wildcard imports to begin of file
Fri, 22 Jul 2011 10:35:05 +0200 util: move "default" hidewindow to posix.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 10:35:05 +0200] rev 14911
util: move "default" hidewindow to posix.py There is a hidewindow in win32.py, which we get via windows.py
Fri, 22 Jul 2011 10:31:56 +0200 util: move "default" lookupreg to posix.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 10:31:56 +0200] rev 14910
util: move "default" lookupreg to posix.py There is a lookupreg in win32.py, which we get via windows.py
Fri, 22 Jul 2011 09:55:46 +0200 util: move "default" unlinkpath to posix.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 09:55:46 +0200] rev 14909
util: move "default" unlinkpath to posix.py we have a unlinkpath in windows.py
Fri, 22 Jul 2011 09:53:15 +0200 util: move "default" makedir to posix.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 09:53:15 +0200] rev 14908
util: move "default" makedir to posix.py makedir is already defined in win32.py, which gets imported into util.py via windows.py if we are running on Windows
Thu, 21 Jul 2011 15:52:08 -0500 summary: allow color to highlight active bookmark
Augie Fackler <durin42@gmail.com> [Thu, 21 Jul 2011 15:52:08 -0500] rev 14907
summary: allow color to highlight active bookmark
Mon, 18 Jul 2011 07:53:26 -0500 summary: show bookmarks separate from tags and note active mark (issue2892)
Augie Fackler <durin42@gmail.com> [Mon, 18 Jul 2011 07:53:26 -0500] rev 14906
summary: show bookmarks separate from tags and note active mark (issue2892)
Wed, 20 Jul 2011 18:23:06 -0400 localrepo: make requirements attribute of newly-created repos contain a set
Andrew Pritchard <andrewp@fogcreek.com> [Wed, 20 Jul 2011 18:23:06 -0400] rev 14905
localrepo: make requirements attribute of newly-created repos contain a set This is for internal consistency, as this attribute typically contains a set
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip