mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
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-----
This commit is contained in:
parent
7209a3bed2
commit
7ddff96dc1
@ -318,6 +318,7 @@ class localrepository:
|
||||
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 @@ class localrepository:
|
||||
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 @@ class localrepository:
|
||||
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 @@ class localrepository:
|
||||
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 @@ class localrepository:
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user