Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Текущее состояние инструментов. Взгляд пользователя

Системы управления версиями
Предупреждение: Эта статья вас ничему не научит. Это очень высокоуровневый взгляд, мои мысли, моя рефлексия на вопрос, который для меня важен + небольшое этнографическое исследование по графическим клиентам git-а.

Поговорим о распределенных системах управления версиями.

CVS был грустным, медленным, неатомарным („ничего не трогайте, я коммичусь“), зато с нормальным клиентом в Эклипсе.

SVN был медленным и поначалу веселым, но с появлением первой ветки тоже грустным („ничего не коммитьте, я мержусь“), с двумя разными клиентами в Эклипсе, баги которых нежно дополняли друг друга.

Тогда я выучил git. Git — это такой нелогичный набор утилит командной строки, в котором ежедневные операции выполняются последовательностью из двух–четырех команд.
Читать дальше →
Всего голосов 100: ↑82 и ↓18 +64
Просмотры1.9K
Комментарии 134

Переезд с SVN на Mercurial: личный опыт

Системы управления версиямиMercurialAtlassian
Для работы с Mercurial под Windows нужен только TortoiseHG. Писать свои плагины для Mercurial не получится, но вроде большинство разработчиков их и не пишет. Во всяком случае я изредка пишу только скрипты для автоматизации. Если у вас Visual Studio, можно воспользоваться красивым плагином.

Локальные репозитории, команды на бумажке и прочая оставим для студентов и лабораторных работ, которых на весь интернет вагоны. Так как единственный бенефит Mercurial для простых смертных это работа в офлайне, этим и надо пользоваться. То есть, основной репозиторий создаём в онлайне: Mercurial сейчас поддерживает Microsoft и Google (вот удивительно!), поэтому апологеты могут выбрать любимую корпорацию без мучений. Но с одним нюансом, у MS не работает русский в комментариях к коммитам.
Читать дальше →
Всего голосов 77: ↑49 и ↓28 +21
Просмотры15.4K
Комментарии 82

hGate – web врата в управление репозиториями Mercurial

Системы управления версиями

Краткая версия

Что предлагается: web интерфейс управления репозиториями и пользователями mercurial — hGate.
Кому полезно: тем, кто использует связку Mercurial+HgWebDir и создает репозитории или пользователей чаще, чем раз в пару месяцев.
Где скачать и как установить: bitbucket.org/shedar/hgate
Если Вам интересно, зачем это было делать, подробный перечень возможностей и что будет дальше — продолжаем.
Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры3.8K
Комментарии 5

Конфигурация Mercurial+Nginx для управления большим количеством репозиториев

Системное администрирование
Под катом описан пример конфигурации связки mercurial+nginx и приведен скрипт автоматизации всего вышеперечисленного.
Читать дальше →
Всего голосов 33: ↑29 и ↓4 +25
Просмотры5.5K
Комментарии 11

Mercurial на Windows Server 2003

Системы управления версиями
Из песочницы
Вас могут смутить столь архаичный цифры в заголовке, однако, думаю, не я один до сих пор использую в работе w2k3 и mssql2000. Причина банальна: зачем что-то покупать, когда это куплено и работает. Дискуссию о недостатках/преимуществах w2k3 и w2008 предлагаю опустить. C другой стороны я не чужд прогрессу и в последнее время плотно использую в своей работе mercurial. И вот возникла необходимость поднять внутренний сервер, при этом в наличии имеется как раз таки оной из заголовка. Речь далее пойдет не о hg serve, а о полноценном hgweb. Статья возникла по причине того, что на то, чтобы заставить его работать, ушел целый день; при этом пошаговые инструкций на русском найдены не были. Да и английских не пруд пруди.
Читать дальше →
Всего голосов 32: ↑27 и ↓5 +22
Просмотры9.4K
Комментарии 36

Системы управления версиями. Пособие для инженеров, художников и писателей

Системы управления версиямиAtlassianПодготовка технической документации
Из песочницы
Привет, Хабр. Решил затронуть измученную во многих статьях тему, конкретнее – описать во многом нестандартное (я бы сказал, несорцовое) использование систем контроля версий (далее – СКВ). Товарищи программисты, давайте спрячем тухлые помидоры и пройдем мимо, ибо данная статья – не для вас. Да, все вы уже изучили все тонкости работы Git, SVN, CVS и знаете много других умных слов. Позвольте же и нам, простым смертным, ознакомиться со всеми преимуществами использования СКВ.
Приглашаю под кат всех желающих ознакомиться с СКВ, а также всех тех, кто, так или иначе, имеет дело с быстроменяющимися данными.
Читать дальше →
Всего голосов 21: ↑16 и ↓5 +11
Просмотры32.3K
Комментарии 31

Ещё раз о «Mercurial против Git» (с картинками)

GitСистемы управления версиямиMercurial
Перевод
Некоторое время назад я опубликовал очень многословное сочинение, где пытался объяснить, почему Git серьёзно поломан, и почему всем следует вместо этого пользоваться Mercurial, до тех пор, пока разработчки Git его не починят. Ну ладно, я был не настолько груб, но близок к этому.

Народ на Reddit жаловался, что мой технический язык слишком путанный, особенно потому что я придумывал новую терминологию в попытках доказательства своих положений. Они потребовали графы, с узлами, рёбрами, кружочками, стрелочками и всем прочим. Тогда я промучал графический редактор несколько часов и получил два графа, приведённые ниже, которыми я надеюсь обрисовать проблему.

Ниже я нарисовал упрощёный граф истории репозитория Git с тремя созданными ветками: «master», «release» и «topic». До того, как энтузиасты Git начнут ругаться, что я исхитрился показать нереально плохой случай запутанности истории, позвольте мне заверить вас, что это на самом деле ещё упрощённый пример. У меня есть доступ к реальному репозиторию Git, где создано шесть рабочих веток релизов, около сорока рабочих тематических веток и несколько сотен ранее существовавших веток, которые уже удалены с центрального сервера.
Читать дальше →
Всего голосов 103: ↑87 и ↓16 +71
Просмотры58.3K
Комментарии 130

Хабрахабр не торт. Хабрахабр сыр. 

Habr
Осеннее обновление Хабрахабра, к нашему общему сожалению, обладает множеством убедительных признаков сырого кода (прочтите их и дополните в комментариях, если я чего-то не заметил или пропустил):

Читать дальше →
Всего голосов 350: ↑316 и ↓34 +282
Просмотры990
Комментарии 119

От велосипеда к Maven

Java
Из песочницы
Так уж сложилось, что до недавнего времени все проекты, написанные мною на Java я собирал, кхм, за меня собирал NetBeans. И меня такой расклад вещей вполне устраивал: после сборки всего проекта всё аккуратно складывалось в директорию dist со всеми подвязанными библиотеками, оставалось накидать туда пользовательской документации, необходимых native-библиотек (например от Firebird) и в путь, т.е. всё в архив. Когда то я делал это вручную, потом велосипедом, а потом уже Maven'ом. Под катом находится история о том, как же я пришел в стан maven и что из этого получилось.
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Просмотры69.1K
Комментарии 56

Популярность систем управления версиями среди пользователей Debian

Системы управления версиями
Статистика Debian позволяет вполне объективно сравнить популярность различных систем управления версиями. Git на графике обозначен зелёным цветом.


Количество инсталляций систем управления версиями за 2004-2011 гг

Статистика собирается с пользователей, которые установили пакет popularity-contest (popcon). После установки popcon еженедельно отсылает в Debian по электронной почте информацию об установленных в системе пакетах и времени последнего использования.
Читать дальше →
Всего голосов 38: ↑30 и ↓8 +22
Просмотры1.7K
Комментарии 65

vcprompt или сахарок для консоли

Системы управления версиями
Данный зверь будет полезен тем, кто не пользуется GUI утилитами при работе с git, mercurial и т.д., а чувствует себя комфортно работая с ними из консоли.
vcprompt.com — python скрипт, который будет выводить основную информацию по версии VCS в текущей директории, если такова есть. Как то название VCS, текущую ветку, были ли изменения с последнего коммита и ещё несколько параметров, которые можно задать в формате вывода.

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры841
Комментарии 6

Хостинг mercurial репозиториев с помощью nginx, gunicorn и supervisor

Системы управления версиями
imageСпособов хостинга mercurial репозиториев достаточно, но я сочинил именно такой вариант по следующим причинам:
  1. nginx: мало кушает, быстро работает — скорость
  2. supervisor: мониторит процесс, перезапускает если что — надёжность
  3. gunicorn: wsgi, большие возможности по настройке — эффективность
Кроме того, т.к. я разрабатываю на django, и сайты запускаю под этой же связкой, есть и четвёртая причина — унификация, а она очень полезная вещь.

Если вас заинтересовала тема, то конкретные инструкции и конфиги — под катом.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры3.7K
Комментарии 18

Установка Mercurial Server и использование авторизации по SSH

Mercurial
Из песочницы
Tutorial
Несколько дней назад передо мной поставили задание — поднять mercurial-репозиторий на одной из локальных машин, и поставили одно условие — обязательная авторизация по SSH. Установка будет производится с использованием Mercurial Server на 64-битной серверной Убунте.
Читать дальше →
Всего голосов 31: ↑25 и ↓6 +19
Просмотры30.5K
Комментарии 20

Mercurial: с чего начать внедрение и зачем нужны патчи

Системы управления версиямиMercurial
Из песочницы
Как ни странно, но среди программистов ещё довольно много тех, кто не видит смысла в системах контроля версий (СКВ) или попросту не знает о них. Хватает и тех, кто знает, но не в курсе с чего начать внедрение или, при использовании, проходят мимо очень удобных возможностей.
Читать дальше →
Всего голосов 35: ↑32 и ↓3 +29
Просмотры10.1K
Комментарии 168

Rhodecode + Redmine — недорогая и функциональная замена хостингу программных проектов на стороне

Системное администрирование
Из песочницы

Введение


Встречаются предприятия, на которых доступ к интернету сильно ограничен или не постоянен, не завидую этим ребятам. Иногда, как в моём случае, политика безопасности предприятия не позволяет хранить исходный код разрабатываемых продуктов на чужом оборудовании. Кроме того, смею предположить, что не каждой группе разработчиков хватает возможностей, предоставляемых например bitbucket. Эти проблемы можно решить, к примеру, связкой RhodeCode и Redmine.

Цели


  • Создание, изменение, удаление репозиториев Mercurial, используя web интерфейс.
  • Добавление и удаление пользователей, разграничение доступа, смена паролей, используя web интерфейс.
  • Отслеживание ошибок и распределение задач, используя web интерфейс.
  • https повсеместно.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры10.1K
Комментарии 11

Жесткие ссылки при клонировании репозитория в mercurial

Системы управления версиямиMercurial
При клонировании репозитория с помощью команды
hg clone A B
mercurial сначала пытается создать жесткие ссылки для файлов внутри папки .hg в новом репозитории. Это ускоряет клонирование и экономит место на жестком диске.

Жесткие ссылки поддерживаются файловыми системами Linux и Windows NTFS. Для файловых систем, которые не поддерживают жесткие ссылки (например Windows FAT), а также при клонирование через http/https или ssh с удаленного сервера mercurial полностью копирует все файлы.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры2.4K
Комментарии 5

Контроль изменений в рабочих директориях

Разработка веб-сайтов
Вероятно, у каждого разработчика есть рабочая папка с чекаутами (svn) и клонами (git, hg) разных проектов. Называют ее по разному: workspace, work, src и т.д.

Бывает ли такое, что Вы забываете закоммитить или запушить изменения в рабочих директориях? Даже если ответ — не часто, но бывает, то Вам стоит познакомиться с утилитой unpushed. Она помогает поддерживать рабочую папку с проектами всегда в чистом и консистентном состоянии.

Например, у меня в папке ~/workspace около 20-ти проектов от разных репозиториев. По каким-либо причинам я хочу этот workspace удалить. Перед этим нужно проверить, точно ли все закоммичено. В ручную сделать это не очень то и быстро. Так и родился этот скрипт.

Под катом краткий обзор программы.
Читать дальше →
Всего голосов 15: ↑11 и ↓4 +7
Просмотры1.3K
Комментарии 9

Обзор инструментов для визуального сравнения и разрешения конфликтов слияния

Разработка веб-сайтовСистемы управления версиями
На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.

diff and merge
Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.

Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.
Читать дальше →
Всего голосов 53: ↑46 и ↓7 +39
Просмотры109.4K
Комментарии 45

Обзор кода в комментариях

Разработка веб-сайтовПрограммированиеGit
Обзор кода полезен и делать его можно разными способами: патчами по почте, сидя рядом лицом к лицу или используя специализированные инструменты/плагины. Каждый способ имеет свои плюсы и минусы, однако мы предлагаем ещё один, который позволяет нам использовать то, что у нас уже есть.
Обозреть детали
Всего голосов 39: ↑33 и ↓6 +27
Просмотры14.7K
Комментарии 9