##// END OF EJS Templates
util: set_flags shouldn't know about repo flag formats
Matt Mackall -
r6877:1d38f360 default
parent child Browse files
Show More
@@ -999,7 +999,7 b' class svn_sink(converter_sink, commandli'
999 fp = open(hook, 'w')
999 fp = open(hook, 'w')
1000 fp.write(pre_revprop_change)
1000 fp.write(pre_revprop_change)
1001 fp.close()
1001 fp.close()
1002 util.set_flags(hook, "x")
1002 util.set_flags(hook, False, True)
1003
1003
1004 xport = transport.SvnRaTransport(url=geturl(path))
1004 xport = transport.SvnRaTransport(url=geturl(path))
1005 self.uuid = svn.ra.get_uuid(xport.ra)
1005 self.uuid = svn.ra.get_uuid(xport.ra)
@@ -1026,7 +1026,7 b' class svn_sink(converter_sink, commandli'
1026 # systematically is just as expensive and much simpler.
1026 # systematically is just as expensive and much simpler.
1027 was_exec = 'x' not in flags
1027 was_exec = 'x' not in flags
1028
1028
1029 util.set_flags(self.wjoin(filename), flags)
1029 util.set_flags(self.wjoin(filename), False, 'x' in flags)
1030 if was_exec:
1030 if was_exec:
1031 if 'x' not in flags:
1031 if 'x' not in flags:
1032 self.delexec.append(filename)
1032 self.delexec.append(filename)
@@ -562,8 +562,12 b' class localrepository(repo.repository):'
562 os.unlink(self.wjoin(filename))
562 os.unlink(self.wjoin(filename))
563 except OSError:
563 except OSError:
564 pass
564 pass
565 self.wopener(filename, 'w').write(data)
565 if 'l' in flags:
566 util.set_flags(self.wjoin(filename), flags)
566 self.wopener.symlink(data, filename)
567 else:
568 self.wopener(filename, 'w').write(data)
569 if 'x' in flags:
570 util.set_flags(self.wjoin(filename), False, True)
567
571
568 def wwritedata(self, filename, data):
572 def wwritedata(self, filename, data):
569 return self._filter("decode", filename, data)
573 return self._filter("decode", filename, data)
@@ -237,7 +237,7 b' def applyupdates(repo, action, wctx, mct'
237 updated += 1
237 updated += 1
238 else:
238 else:
239 merged += 1
239 merged += 1
240 util.set_flags(repo.wjoin(fd), flags)
240 util.set_flags(repo.wjoin(fd), 'l' in flags, 'x' in flags)
241 if f != fd and move and util.lexists(repo.wjoin(f)):
241 if f != fd and move and util.lexists(repo.wjoin(f)):
242 repo.ui.debug(_("removing %s\n") % f)
242 repo.ui.debug(_("removing %s\n") % f)
243 os.unlink(repo.wjoin(f))
243 os.unlink(repo.wjoin(f))
@@ -266,7 +266,7 b' def applyupdates(repo, action, wctx, mct'
266 repo.ui.warn(" %s\n" % nf)
266 repo.ui.warn(" %s\n" % nf)
267 elif m == "e": # exec
267 elif m == "e": # exec
268 flags = a[2]
268 flags = a[2]
269 util.set_flags(repo.wjoin(f), flags)
269 util.set_flags(repo.wjoin(f), 'l' in flags, 'x' in flags)
270
270
271 return updated, merged, removed, unresolved
271 return updated, merged, removed, unresolved
272
272
@@ -1109,7 +1109,7 b' def updatedir(ui, repo, patches):'
1109 if ctype == 'ADD' and not os.path.exists(dst):
1109 if ctype == 'ADD' and not os.path.exists(dst):
1110 repo.wwrite(gp.path, '', flags)
1110 repo.wwrite(gp.path, '', flags)
1111 else:
1111 else:
1112 util.set_flags(dst, flags)
1112 util.set_flags(dst, 'l' in flags, 'x' in flags)
1113 cmdutil.addremove(repo, cfiles)
1113 cmdutil.addremove(repo, cfiles)
1114 files = patches.keys()
1114 files = patches.keys()
1115 files.extend([r for r in removes if r not in files])
1115 files.extend([r for r in removes if r not in files])
@@ -996,7 +996,7 b" if os.name == 'nt':"
996 '''return False if pid dead, True if running or not known'''
996 '''return False if pid dead, True if running or not known'''
997 return True
997 return True
998
998
999 def set_flags(f, flags):
999 def set_flags(f, l, x):
1000 pass
1000 pass
1001
1001
1002 def set_binary(fd):
1002 def set_binary(fd):
@@ -1143,10 +1143,8 b' else:'
1143 """check whether a file is executable"""
1143 """check whether a file is executable"""
1144 return (os.lstat(f).st_mode & 0100 != 0)
1144 return (os.lstat(f).st_mode & 0100 != 0)
1145
1145
1146 def set_flags(f, flags):
1146 def set_flags(f, l, x):
1147 s = os.lstat(f).st_mode
1147 s = os.lstat(f).st_mode
1148 x = "x" in flags
1149 l = "l" in flags
1150 if l:
1148 if l:
1151 if not stat.S_ISLNK(s):
1149 if not stat.S_ISLNK(s):
1152 # switch file to link
1150 # switch file to link
General Comments 0
You need to be logged in to leave comments. Login now