Show More
@@ -999,7 +999,7 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, |
|
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 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 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 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 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 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 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, |
|
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 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, |
|
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