Files: preserve filemode on web edits.
This commit is contained in:
parent
3c10f85ad8
commit
f1d82af360
2 changed files with 9 additions and 10 deletions
|
|
@ -1191,9 +1191,9 @@ class RepoFilesView(RepoAppView):
|
|||
first_line = sl[0] if sl else ''
|
||||
|
||||
r_post = self.request.POST
|
||||
# modes: 0 - Unix, 1 - Mac, 2 - DOS
|
||||
mode = detect_mode(first_line, 0)
|
||||
content = convert_line_endings(r_post.get('content', ''), mode)
|
||||
# line endings: 0 - Unix, 1 - Mac, 2 - DOS
|
||||
line_ending_mode = detect_mode(first_line, 0)
|
||||
content = convert_line_endings(r_post.get('content', ''), line_ending_mode)
|
||||
|
||||
message = r_post.get('message') or c.default_message
|
||||
org_f_path = c.file.unicode_path
|
||||
|
|
@ -1213,6 +1213,7 @@ class RepoFilesView(RepoAppView):
|
|||
'content': content,
|
||||
'lexer': '',
|
||||
'op': 'mod',
|
||||
'mode': c.file.mode
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -675,8 +675,8 @@ class ScmModel(BaseModel):
|
|||
filename = self._sanitize_path(data['filename'])
|
||||
old_filename = self._sanitize_path(_filename)
|
||||
content = data['content']
|
||||
|
||||
filenode = FileNode(old_filename, content=content)
|
||||
file_mode = data.get('mode')
|
||||
filenode = FileNode(old_filename, content=content, mode=file_mode)
|
||||
op = data['op']
|
||||
if op == 'add':
|
||||
imc.add(filenode)
|
||||
|
|
@ -684,16 +684,14 @@ class ScmModel(BaseModel):
|
|||
imc.remove(filenode)
|
||||
elif op == 'mod':
|
||||
if filename != old_filename:
|
||||
# TODO: handle renames more efficient, needs vcs lib
|
||||
# changes
|
||||
# TODO: handle renames more efficient, needs vcs lib changes
|
||||
imc.remove(filenode)
|
||||
imc.add(FileNode(filename, content=content))
|
||||
imc.add(FileNode(filename, content=content, mode=file_mode))
|
||||
else:
|
||||
imc.change(filenode)
|
||||
|
||||
try:
|
||||
# TODO: handle pre push scenario
|
||||
# commit changes
|
||||
# TODO: handle pre push scenario commit changes
|
||||
tip = imc.commit(message=message,
|
||||
author=author,
|
||||
parents=parents,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue