Show More
@@ -18,7 +18,14 b' def set_exec(f, mode):' | |||||
18 | s = os.stat(f).st_mode |
|
18 | s = os.stat(f).st_mode | |
19 | if (s & 0100 != 0) == mode: |
|
19 | if (s & 0100 != 0) == mode: | |
20 | return |
|
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 | class filelog(revlog): |
|
30 | class filelog(revlog): | |
24 | def __init__(self, opener, path): |
|
31 | def __init__(self, opener, path): | |
@@ -1003,7 +1010,7 b' class localrepository:' | |||||
1003 | try: |
|
1010 | try: | |
1004 | self.wfile(f, "w").write(t) |
|
1011 | self.wfile(f, "w").write(t) | |
1005 | except IOError: |
|
1012 | except IOError: | |
1006 |
os.makedirs(os.path.dirname( |
|
1013 | os.makedirs(os.path.dirname(self.wjoin(f))) | |
1007 | self.wfile(f, "w").write(t) |
|
1014 | self.wfile(f, "w").write(t) | |
1008 | set_exec(self.wjoin(f), mf2[f]) |
|
1015 | set_exec(self.wjoin(f), mf2[f]) | |
1009 | self.dirstate.update([f], mode) |
|
1016 | self.dirstate.update([f], mode) | |
@@ -1015,7 +1022,7 b' class localrepository:' | |||||
1015 | self.ui.status("merging %s\n" % f) |
|
1022 | self.ui.status("merging %s\n" % f) | |
1016 | m, o, flag = merge[f] |
|
1023 | m, o, flag = merge[f] | |
1017 | self.merge3(f, m, o) |
|
1024 | self.merge3(f, m, o) | |
1018 |
set_exec( |
|
1025 | set_exec(self.wjoin(f), flag) | |
1019 | self.dirstate.update([f], 'm') |
|
1026 | self.dirstate.update([f], 'm') | |
1020 |
|
1027 | |||
1021 | for f in remove: |
|
1028 | for f in remove: |
General Comments 0
You need to be logged in to leave comments.
Login now