##// END OF EJS Templates
merge: while checking for unknown files don't follow symlinks (issue5027)...
merge: while checking for unknown files don't follow symlinks (issue5027) Previously, we were using Python's native 'os.path.isfile' method which follows symlinks. In this case, since we're operating on repo contents, we don't want to follow symlinks. There's a behaviour change here, as shown by the second part of the added test. Consider a symlink 'f' pointing to a file containing 'abc'. If we try and replace it with a file with contents 'abc', previously we would have let it though. Now we don't. Although this breaks naive inspection with tools like 'cat' and 'diff', on balance I believe this is the right change.

File last commit:

r25628:9c647f42 default
r27571:6a6e78f8 stable
Show More
map-cmdline.status
25 lines | 1.2 KiB | text/plain | TextLexer
%include map-cmdline.default
# Override base templates
changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{summary}{lfiles}\n'
changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{description}{lfiles}\n'
changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{extras}{description}{lfiles}\n'
# Override the file templates
lfiles = '{if(files,
label('ui.note log.files',
'files:\n'))}{lfile_mods}{lfile_adds}{lfile_copies_switch}{lfile_dels}'
# Exclude copied files, will display those in lfile_copies_switch
lfile_adds = '{file_adds % "{ifcontains(file, file_copies_switch,
'',
'{lfile_add}')}"}'
lfile_add = '{label("status.added", "A {file}\n")}'
lfile_copies_switch = '{file_copies_switch % "{lfile_copy_orig}{lfile_copy_dest}"}'
lfile_copy_orig = '{label("status.added", "A {name}\n")}'
lfile_copy_dest = '{label("status.copied", " {source}\n")}'
lfile_mods = '{file_mods % "{label('status.modified', 'M {file}\n')}"}'
lfile_dels = '{file_dels % "{label('status.removed', 'R {file}\n')}"}'