:-)
  • Tools 10.10.2009

    Mercurial logoЭта история началась трагически. Я случайно стер исходники проекта, над которым работал несколько дней. Бекапов не делал, svn забросил (я работаю один, без команды), для версионности вполне обходился Local History в Eclipse/NetBeans. Но эта потеря заставила меня как следует задуматься о том, чтобы все-таки использовать VCS, хотя бы для бекапа. Основной выбор был между Git и Mercurial (о достоинствах и недостатках CVS/SVN и прочих ищите в поисковиках). За Mercurial для меня сыграло то, что на Bitbucket был бесплатно доступен один приватный репозиторий, в отличии от Github, где все публично. А у меня на некоторых сайтах пароли в коде зашиты.

    Установка Mercurial на Windows делается элементарно: Next, Next, Next, Ok. Скачать можно, например, здесь. Можете так же скачать TortoiseHg, если вам нравится их TortoiseSVN. Под Linux еще проще.

    apt-get install mercurial

    Для Eclipse IDE поищите плагин Eclipse Mercurial, а в NetBeans поддержка встроенная. Возможно вам понадобится прописать в системную переменную PATH путь к тому месту, куда вы установили Mercurial.

    И все, вы можете пользоваться Меркуриалом. Ему, в отличии от SVN совершенно не нужно поднимать сервер. Все ваши изменения будут хранится в папке .hg в корне проекта. В отличии от svn Mercurial, Git и другие современные системы не суют свои папки в каждую папку проекта.

    Вкратце расскажу о том, как начать работу с этой системой. Если у вас проект лежит локально, то в папке проекта в консоли введите

    hg init

    Тем самым, вы инициируете проект в этой папке. Дальше, как в svn:

    hg add; hg commit -m 'Initial commit';

    Тем самым вы добавляете все файлы в текущей папке к проекту и сразу же коммитите с комментарием "Initial commit". Если же проект где-то выложен и вы хотите подключиться к нему, тогда клонируете его себе в пустую папку.

    hg clone адрес репозитория

    Я думаю, что как создать и закоммитить проект в IDE вы разберетесь.

    Итак, бесплатные репозитории на BitBucket публичны (кроме всего одного приватного), а размер всего 150 мегабайт. Значит надо ставить свой "сервер". Здесь все оказалось довольно быстро и просто. Как установить Mercurial на Debian я уже выше написал. После чего создал нового пользователя mercurial с помощью adduser. Дал ему в распоряжение папку /home/mercurial, закачал на сервер коды проектов по папкам и инициировал в каждой проект Меркуриала. А потом просто в Windows сделал так:

    hg pull ssh://mercurial@myserver/myproject
    hg update

    Если у вас Винда ругается на отсутствие ssh смотрите здесь. Обьясню, что я сделал. Так как в Mercurial нет центрального сервера, то все репозитории равны. И вы всегда коммитите в свой локальный. А чтобы обменяться изменениями вы делаете pull (скачиваете) или push (закачиваете). Таким образом я скачал проект с сервера, чтобы удостоверится, что все работает. Надеюсь, что и у вас все получилось. А если нет - спрашивайте в комментариях.

    А еще я писал про:

    1. SSH под Windows
    2. Mercurial и NetBeans
    3. Постараюсь жить честно

    Tags: , , ,

  • 2 комментариев

    WP_Modern_Notepad
    • Glader пишет:

      «на Bitbucket был бесплатно доступен один приватный репозиторий»
      «Итак, бесплатные репозитории на BitBucket публичны»
      Что-то я логики не уловил :)

    • CharnaD пишет:

      Да, не совсем ясно выразился. Там есть один приватный репозиторий. Но только один. Все остальное публично.

    Trackbacks

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

    Внимание: Комментарии проходят премодерацию. Не надо посылать их несколько раз.

    Это не спам.