Pull to refresh

Развертывание Mercurial репозиториев через FastCGI с использованием Nginx на FreeBSD

Reading time5 min
Views1.7K
Поддался я влиянию моды и захватывающим перспективам DVCS с недавних пор. Это вытолкнуло меня с наезженной колеи Subversion + Trac и заставило искать новые схемы как хранить исходные тексты в разных компаниях. И предоставлять для них удобный доступ разработчикам, заказчикам и другим заинтересованным личностям.

Так сложилось, что я специализируюсь во FreeBSD и не так хорошо разбираюсь в Linux'ах. И еще предпочитаю где можно использовать Nginx вместо Apache httpd. Поэтому решил я сделать для себя унифицированную архитектуру, которая позволит хранить неограниченное количество репозиториев и разграничивать для них доступ различных группам людей на этой платформе.

Само собой, Bitbucket — наше все. Но у любого разработчика есть закрытые проекты, которые в паблик выкладывать не хотелось бы. Можно, конечно, платить $50 в месяц за возможность хостить 25 проектов на bitbucket'е. Я лично считаю, что лучше эти деньги потратить на dedicated сервер и поднять себе сколько угодно проектов. Будет не так удобно, но зато свое и с возможностью тюнинга, бекапа и других вкусностей.

Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments2

DEVCONF 2010 — уникальные мастерклассы и мы продлеваем прием заявок на доклады до 12 апреля

Reading time1 min
Views885
image

DevConf — профессиональная конференция, посвященная ведущим технологиям программирования и веб-разработки.

Мы продлили прием докладов до 12 апреля — талантливые спикеры и фанаты — WELCOME!
http://devconf.ru/offers

Программа мастер-классов
18 мая (вт) — на целый день
Читать дальше →
Total votes 4: ↑2 and ↓20
Comments0

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

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

Читать дальше →
Total votes 350: ↑316 and ↓34+282
Comments119

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

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

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

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


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

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

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

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

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments6

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

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

Если вас заинтересовала тема, то конкретные инструкции и конфиги — под катом.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments18

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

Reading time2 min
Views32K
Несколько дней назад передо мной поставили задание — поднять mercurial-репозиторий на одной из локальных машин, и поставили одно условие — обязательная авторизация по SSH. Установка будет производится с использованием Mercurial Server на 64-битной серверной Убунте.
Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments20

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

Reading time5 min
Views11K
Как ни странно, но среди программистов ещё довольно много тех, кто не видит смысла в системах контроля версий (СКВ) или попросту не знает о них. Хватает и тех, кто знает, но не в курсе с чего начать внедрение или, при использовании, проходят мимо очень удобных возможностей.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments168

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

Reading time5 min
Views11K

Введение


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

Цели


  • Создание, изменение, удаление репозиториев Mercurial, используя web интерфейс.
  • Добавление и удаление пользователей, разграничение доступа, смена паролей, используя web интерфейс.
  • Отслеживание ошибок и распределение задач, используя web интерфейс.
  • https повсеместно.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments11

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

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

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

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

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

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

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

Под катом краткий обзор программы.
Читать дальше →
Total votes 15: ↑11 and ↓4+7
Comments9

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

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

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

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

Bitbucket — большое обновление

Reading time2 min
Views64K

Bitbucket — это хостинг для Mercurial и Git репозиториев. Ближайший аналог и прямой конкурент — github. По популярности Bitbucket отстаёт, однако у него есть пара заметных фич по сравнению с github — это поддержка Mercurial и возможность создать сколь угодно приватных репозиториев на бесплатном аккаунте, однако дать доступ можно максимум пяти пользователям (у github вообще нет приватных репозиториев для бесплатных аккаунтов).

Сегодня команда Bitbucket выпустила большое обновление своего сервиса. Полностью обновился дизайн и добавилось много новых функций. Сделаю краткий обзор нововведений на основе записи в официальном блоге команды разработчиков.
Читать дальше →
Total votes 126: ↑124 and ↓2+122
Comments133

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

Reading time3 min
Views15K
Обзор кода полезен и делать его можно разными способами: патчами по почте, сидя рядом лицом к лицу или используя специализированные инструменты/плагины. Каждый способ имеет свои плюсы и минусы, однако мы предлагаем ещё один, который позволяет нам использовать то, что у нас уже есть.
Обозреть детали
Total votes 39: ↑33 and ↓6+27
Comments9

Систематизация коммитов

Reading time2 min
Views10K
Часто ли вам приходилось просматривать список изменений что бы понять — затронуло ли оно вас?
Хотели бы вы бегло просмотрев комментарий знать всю необходимую информацию?
Хочу поделиться сокращениями устоявшимися в нашей команде.
Читать дальше →
Total votes 43: ↑29 and ↓14+15
Comments43

Сходство и различие между Mercurial и Git

Reading time6 min
Views117K
По роду своей деятельности я нередко становлюсь свидетелем «священных войн» между коллегами-программистами на тему, какую же систему контроля версий выбрать для того или иного проекта. Роль системы контроля версий особо остро ощущается в случаях разработки и поддержки проектов с длинной историей. Вариантов инструментов много, но я хочу сконцентрироваться на двух, на мой взгляд, наиболее перспективных: Mercurial и Git. Далее попробуем рассмотреть возможности обеих систем с позиции их внутреннего устройства.
Читать дальше →
Total votes 107: ↑98 and ↓9+89
Comments425