Show More
@@ -18,7 +18,14 b' def set_exec(f, mode):' | |||
|
18 | 18 | s = os.stat(f).st_mode |
|
19 | 19 | if (s & 0100 != 0) == mode: |
|
20 | 20 | return |
|
21 | os.chmod(f, s & 0666 | (mode * 0111)) | |
|
21 | if mode: | |
|
22 | # Turn on +x for every +r bit when making a file executable | |
|
23 | # and obey umask. | |
|
24 | umask = os.umask(0) | |
|
25 | os.umask(umask) | |
|
26 | os.chmod(f, s | (s & 0444) >> 2 & ~umask) | |
|
27 | else: | |
|
28 | os.chmod(f, s & 0666) | |
|
22 | 29 | |
|
23 | 30 | class filelog(revlog): |
|
24 | 31 | def __init__(self, opener, path): |
@@ -1003,7 +1010,7 b' class localrepository:' | |||
|
1003 | 1010 | try: |
|
1004 | 1011 | self.wfile(f, "w").write(t) |
|
1005 | 1012 | except IOError: |
|
1006 |
os.makedirs(os.path.dirname( |
|
|
1013 | os.makedirs(os.path.dirname(self.wjoin(f))) | |
|
1007 | 1014 | self.wfile(f, "w").write(t) |
|
1008 | 1015 | set_exec(self.wjoin(f), mf2[f]) |
|
1009 | 1016 | self.dirstate.update([f], mode) |
@@ -1015,7 +1022,7 b' class localrepository:' | |||
|
1015 | 1022 | self.ui.status("merging %s\n" % f) |
|
1016 | 1023 | m, o, flag = merge[f] |
|
1017 | 1024 | self.merge3(f, m, o) |
|
1018 |
set_exec( |
|
|
1025 | set_exec(self.wjoin(f), flag) | |
|
1019 | 1026 | self.dirstate.update([f], 'm') |
|
1020 | 1027 | |
|
1021 | 1028 | for f in remove: |
General Comments 0
You need to be logged in to leave comments.
Login now