summaryrefslogtreecommitdiffstats
path: root/g2h/file.py
blob: 8f683cd2a854917cff876e675ab82c99be1291d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os

def sanitize_file_name(file_name, files):
    if not file_name.startswith('.'):
        return file_name

    file_names = [ f.name for f in files ]
    for i in range(1, 10):
        new_name = file_name.replace('.', '_' * i, 1)
        if not new_name in file_names:
            return new_name

    raise RuntimeError('Couldn not find unused sanitized file name')

def tree_join(commit, path):
    return os.path.join(commit.hexsha, 't', path)