Add wopener for opening files in the working directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add wopener for opening files in the working directory
manifest hash:
cad3a930764244a32f8e45c2ea95fa9b98690b5f
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCp5qxywK+sNU5EO8RAkfAAJ9C7V8zlbUVM8Dfs4raXMtT2bk4RQCfRfVt
IfYoaVsbOUW4U1XipOZycAw=
=5JDH
-----END PGP SIGNATURE-----
--- a/mercurial/hg.py Wed Jun 08 17:08:55 2005 -0800
+++ b/mercurial/hg.py Wed Jun 08 17:26:09 2005 -0800
@@ -318,6 +318,7 @@
os.mkdir(self.join("data"))
self.opener = opener(self.path)
+ self.wopener = opener(self.root)
self.manifest = manifest(self.opener)
self.changelog = changelog(self.opener)
self.ignorelist = None
@@ -330,7 +331,7 @@
if self.ignorelist is None:
self.ignorelist = []
try:
- l = open(os.path.join(self.root, ".hgignore"))
+ l = self.wfile(".hgignore")
for pat in l:
if pat != "\n":
self.ignorelist.append(re.compile(pat[:-1]))
@@ -370,6 +371,9 @@
if f[0] == '/': f = f[1:]
return filelog(self.opener, f)
+ def wfile(self, f, mode='r'):
+ return self.wopener(f, mode)
+
def transaction(self):
# save dirstate for undo
try:
@@ -526,7 +530,7 @@
dc = self.dirstate.copy()
def fcmp(fn):
- t1 = file(self.wjoin(fn)).read()
+ t1 = self.wfile(fn).read()
t2 = self.file(fn).revision(mf[fn])
return cmp(t1, t2)
@@ -991,13 +995,12 @@
if f[0] == "/": continue
self.ui.note("getting %s\n" % f)
t = self.file(f).read(get[f])
- wp = self.wjoin(f)
try:
- file(wp, "w").write(t)
+ self.wfile(f, "w").write(t)
except IOError:
os.makedirs(os.path.dirname(wp))
- file(wp, "w").write(t)
- set_exec(wp, mf2[f])
+ self.wfile(f, "w").write(t)
+ set_exec(self.wjoin(f), mf2[f])
self.dirstate.update([f], mode)
# merge the tricky bits