Для обкатки изменений в блоге, таких как смена оформления, установка и настройка модулей, желательно сначала проводить тестирование на staging версии блога и только потом переносить изменения на live сайт. В случае с wordpress недостаточно скопировать исходники и базу. Нужно еще сделать замены в новой базе с учетом специфики wordpress.
Уже несколько раз подряд я пользуюсь инструментом Search-Replace-DB и все проходит нормально.
Заметки о Linux, системном администрировании, программировании, электронике и не только
суббота, 30 августа 2014 г.
Конвертирование репозитария из mercurial в git
Относительно недавно довелось переводить один из внутренних проектов с mercurial на git. На всякий случай я делал миграцию на копии репозитария, чего и вам советую во избежание всяких неожиданностей.
Итак, сначала делаем копию репозитария (я добавляю опцию --noupdate, чтобы скопировать только метаданные)
Затем нам нужно установить расширение hg-git и подключить его в ~/.hgrc. В дебиан для этого нужно установить пакет mercurial-git
Инициализируем пустой git репозитарий (тут нужно обратить внимание на опцию --bare, иначе hg push закончится ошибкой "прервано: git remote error: refs/heads/master failed to update"
Если нужно скопировать информацию о ветках, кроме default, то нужно сначала добавить соответствующие bookmarks в репозитарии mercurial
Когда все будет готово настает время выполнить push из репозитария project.hg в project.git
На большом репозитарии этот процесс может занять много времени и потребовать достаточный объем оперативной памяти. Если процесс завершился без ошибок, то пора проверить историю комитов и соответствие бранчей в project.git
Теперь все готово и можно работать с репозиторием через git.
Итак, сначала делаем копию репозитария (я добавляю опцию --noupdate, чтобы скопировать только метаданные)
$ hg clone --noupdate project.orig project.hg
Затем нам нужно установить расширение hg-git и подключить его в ~/.hgrc. В дебиан для этого нужно установить пакет mercurial-git
$ sudo aptitude install mercurial-git $ cat >> ~/.hgrc <<_EOF_ [extensions] hgext.bookmarks = hgext.git = hgext.convert = _EOF_
Инициализируем пустой git репозитарий (тут нужно обратить внимание на опцию --bare, иначе hg push закончится ошибкой "прервано: git remote error: refs/heads/master failed to update"
$ mkdir project.git $ git init --bare project.git/.git Initialized empty Git repository in /home/andrey/tmp/hg-to-git/project.git/.git/
Если нужно скопировать информацию о ветках, кроме default, то нужно сначала добавить соответствующие bookmarks в репозитарии mercurial
$ cd project.hg $ hg bookmark -r default master $ hg bookmark -r feature1 feature_1 ...
Когда все будет готово настает время выполнить push из репозитария project.hg в project.git
$ cd project.hg $ hg push ../project.git проталкиваем в ../project.git/ creating and sending data
На большом репозитарии этот процесс может занять много времени и потребовать достаточный объем оперативной памяти. Если процесс завершился без ошибок, то пора проверить историю комитов и соответствие бранчей в project.git
$ cd project.git $ git log -n 1 commit 2c765e70ad96c2bd2bc6cc0b545038f4faa42c25 Author: John Doe <john.doe@example.com> Date: Sun Apr 20 12:27:44 2014 +0300 Latest fixes for reviews. $ git branch * master feature_1
Теперь все готово и можно работать с репозиторием через git.
пятница, 22 августа 2014 г.
Сегодня начинается LVEE 2014
Заканчиваю паковать пожитки и через пару часов выдвигаюсь на LVEE 2014. В этом году еду в первый раз и надеюсь прохладная погода не испортит впечатление от конференции.
четверг, 7 августа 2014 г.
Как в Git просмотреть файл целиком из определенной ревизии
Начинаю осваивать Git в качестве альтернативы Mercurial - потребовалось просмотреть файл целиком за определенную ревизию. В Mercurial для этого есть "cat", т.е.
в git для этого есть команда "show"
$ hg cat -r 2fad6072a89d path/to/file
в git для этого есть команда "show"
$ git show -r 269c3b6ca51a:path/to/file
Подписаться на:
Сообщения (Atom)