コード例 #1
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def push_change(branch, message, files: List[str]):
    """Делает коммит изменений указанные файлов."""
    files = ' '.join(files)
    bash('git status')
    bash(f'git add {files}')
    bash(f'git commit -m "{message}"')
    return bash(f'git push origin {branch}')
コード例 #2
0
ファイル: deployer.py プロジェクト: Innim/Lightning-PM
    def cmd(self, cmd, mute=False, encoding='utf-8'):
        """Выполняет команду на локальном хосте.

        :return: Возвращает кортеж с результатами работы команды:
         result[0] - stdout,
         result[1] - stderr,
         result[2] - exitcode
        """
        return bash(cmd, mute, encoding)
コード例 #3
0
    def bash(self, cmd) -> ShellOut:
        """Выполнеяет команду

        :return: Возвращает кортеж с результатами работы команды:
         result[0] - stdout,
         result[1] - stderr,
         result[2] - exitcode
        """
        return ciutil.bash(cmd)
コード例 #4
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def set_config(user='', email='', push_url='', origin_url=''):
    """Задает данные для git config
        если параметр не задан или равент пустой строке, то не будет изменен
    """

    if user:
        bash('git config user.name {name}'.format(name=user))
    if email:
        bash('git config user.email {email}'.format(email=email))
    if push_url:
        bash('git config remote.origin.pushurl {url}'.format(url=push_url))
コード例 #5
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def fetch():
    bash("git fetch")
コード例 #6
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def get_commit_date():
    """Возвращает дату коммита."""
    git_log = bash('git log -1 --pretty=%ct')
    t = int(git_log[0]) + 3 * 60 * 60  # корректеровка вермени под MSK
    return datetime.utcfromtimestamp(t).strftime(
        '%Y-%m-%d %H:%M:%S') + ' (MSK)'
コード例 #7
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def get_commit_message():
    """Возвращает сообщение коммита"""
    git_log = bash('git log -1 --pretty=%B', encoding='utf-8')
    return git_log[0].strip('\n')
コード例 #8
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def push_all_change(branch, message):
    """Делает коммит последних изменений и отправляет данные на удаленный репозиторий """
    bash('git status')
    bash('git add .')
    bash(f'git commit -a -m "{message}"')
    return bash(f'git push origin {branch}')
コード例 #9
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def reset_all_changes():
    """Отменяет все изменения файлов."""
    bash('git checkout --force')
    bash('git clean -n')
    bash('git clean -fd')
コード例 #10
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def push_tags(tag: str = ''):
    """Пушит указанную метку, если метка не передана пушатся все метки."""
    if not tag:
        tag = '--tags'
    return bash(f'git push origin {tag}')
コード例 #11
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def push(remote_branch):
    """Отправляет изменнения на удаленный репозиторий."""
    return bash(f'git push origin {remote_branch}')
コード例 #12
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def merge(from_branch):
    """Выполняет слияние указанной ветки с текущей."""
    return bash(f'git merge {from_branch}')
コード例 #13
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def pull(remote_branch):
    """Забирает изменения с удаленной ветки в текущую."""
    return bash(f'git pull origin {remote_branch}')
コード例 #14
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def change_branch(new_branch):
    """Смена активной ветки, если ветки нет - будет создана"""
    return bash('git checkout -B {branch}'.format(branch=new_branch))
コード例 #15
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def remove_remote_branch(branch):
    """Удаление ветки на внешнем репозитории."""
    return bash(f'git push origin :{branch}')
コード例 #16
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def tag(tag_name: str, message: str = ''):
    """Создает метку."""
    message = f'{message}' if message else 'tag created by CI/CD'
    return bash(f'git tag -a "{tag_name}" -m "{message}"')
コード例 #17
0
ファイル: git_util.py プロジェクト: Innim/Lightning-PM
def reset_change(files: List['str']):
    """Сбрасывает изменения в указанных файлах."""
    files = ' '.join(files)
    bash(f'git checkout -- {files}')