Памятка: Несколько слов о том как пользоваться Mercurial

Базовая работа с репозиторием

Получение исходных кодов:
hg clone http://<user>:<pass>@<host>:<port>/<repo>
Обновление исходников:
cd <repo>
hg pull
hg update --check

Создание изменений

Добавление нового файла:
hg add <filename>
Или автоматический поиск новых файлов в текущей директории:
hg add .
Удаление файлов (внимание, файлы удаляются и из индекса и физически с диска)
hg remove <filename>
Так же, только рекурсивно текущую директорию:
hg remove .
Но есть намного более удобная команда, которая сразу выполняет и удаление из индекса и добавление новых файлов:
hg addremove
Запись сделанных изменений (если не указать сообщение ключом -m то откроется редактор):
hg commit -m 'сообщение об изменениях'
hg push
Если есть ветка, которую надо принудительно заменить:
hg push -f 
Слияние текущих изменений с веткой репозитория:
hg merge

Пример BASH-скрипта 

Вот таким образом я обновляю несколько репозиториев:
#!/bin/bash
# Директории с исходниками
dirs="repo1 repo2 trunc"
# Правка для cron
my_path="$(dirname $0)"
cd "$my_path"
# Выполним цикл
for dir in $dirs
    do
        if [ -e "$dir" ]
            then
                cd "$dir"
                hg pull
                hg update --check
                cd ..
            else
                echo "$dir not found"
        fi
done

Комментариев нет:

Отправить комментарий