войти зарегистрироваться

GitПроблемы с производительностью Git на большом репозитории

Джошуа Редстоун (Joshua Redstone) пожаловался в листе рассылки Git на некоторые проблемы с производительностью, которые возникли у Facebook на большом репозитории. Они создали синтетический репозиторий и провели тесты.

Тестовый репозиторий
4 млн коммитов, линейная история и около 1,3 млн файлов. Размер папки .git — около 15 ГБ, её упаковали командой repack:

git repack -a -d -f --max-pack-size=10g --depth=100 --window=250

Процесс занял около двух суток на хорошей машине (много памяти, SSD). Размер индексного файла составил 191 МБ.

Ruby on RailsLocum + Capistrano + git на Windows: маленькое приключение с размещением

Эту маленькую заметку я постаю, видимо, больше для себя. Сегодня у меня был первый опыт выгрузки приложения RoR на хостинг Locum с использованием связки Capistrano и git на Windows 7. Пришлось помучаться — первый блин чуть не встал комом.

GitЧто такое «git push problem: non fast forward» из песочницы

Данная мини-заметка в первую очередь является ответом на вопрос. Так как мой аккаунт read-only, то вот такой вот способ ответа. «А жизнь-то налаживается!» ©

Первый вывод после прочтения вопроса и ответов — не делайте так, как предложил defuz. Он не понимает суть проблемы, и если вы сделаете как им предложено — скорее всего, вы потеряете данные.
Второй: alekciy тоже не совсем прав, но тут шансов на потерю данных гораздо меньше. Почти никаких.
Ну и третий: блин, ну когда же люди поймут, что владеть используемым инструментом это реально необходимо? Читайте документацию!

GitЗнакомство с gitolite из песочницы

gitolite — это средство для создания централизованных репозиториев для совместной разработки через git.

Зачем оно нужно?


Родные средства git для этой задачи на сегодня явно недостаточны: родной git-протокол не содержит каких-либо средств авторизации, а для работы через ssh потребуется завести полноценного юзера в ОС (с шеллом), что далеко не всегда уместно и желательно.
gitolite же позволит вам заводить пользователей независимо от наличия аккаунта в ОС и гибко раздавать права.

ПрограммированиеПочему C быстрее Java (с точки зрения Java-разработчика)

В листе рассылки Git развернулась дискуссия о том, как язык программирования высокого уровня снижает производительность приложения, в связи с обсуждением JGit. Дискуссия особенно интересна, потому что в ней принимали участие программисты, эксперты высочайшего уровня как в C, так и в Java. Один из них — Шон Пирс (Shawn O. Pearce), известный Java-программист из компании Google, активный коммитер в Eclipse, соавтор Git и автор Java-имплементации Git под названием JGit. В своём сообщении он назвал реальные ограничения, с которыми сталкивается высококвалифицированный разработчик, пытаясь написать эффективный Java-код, сравнимый по производительности с максимально оптимизированным кодом C. Хотя письмо датируется апрелем 2009 года, но некоторые аргументы Шона до сих пор не потеряли актуальность.

List: git
Subject: Re: Why Git is so fast (was: Re: Eric Sink's blog — notes on git,
From: «Shawn O. Pearce» <spearce () spearce! org>


Как было сказано ранее, мы сделали много маленьких оптимизаций в коде Git на C, чтобы добиться реально высокой производительности. 5% здесь, 10% там, и внезапно ты уже на 60% быстрее, чем был раньше. Нико [Питре], Линус [Торвальдс] и Джунио [Хамано] — все они потратили определённое время в последние три-четыре года для оптимизации отдельных фрагментов Git, исключительно для того, чтобы он работал максимально быстро.

Django FrameworkHowTo: continuous integration проекта на Django с помощью TeamCity

Введение


В процессе разработки, создавая новый функционал, всё чаще широкими мазками стал задевать старый код чем разрушал логику его работы. Это заставило всё-таки написать юнит и интеграционные тесты для старого кода и автоматизировать их запуск, т.к. гонять руками все тесты как-то грустно. Как раз вспомнилось недавнее руководство по CI Django в Jenkins и довольно старое по Webtest в Django. В итоге была совершена попытка поднять Дженкинса, но он как-то на моей убунте не взлетел и я грешным делом вспомнил про TeamCity. «Раз уж пишу в PyCharm и нашёл к нему подход, то, наверно, и TeamCity осилю, ведь конторка-то одна!» — подумалось мне… В общем-то я оказался прав, и, пока мне позволяет карма, решил подарить вам ультраполезный (и мегаподробный), в отличие от моего предыдущего, мануал :)

Итого: кому требуется руководство по поднятию интеграционного сервера TeamCity, и тестирование в нём Django проектов c тестами nose и webtest в виртуальном окружении python с автоматическим его (окружения) обновлением — добро пожаловать под кат.

Осторожно! Для работы TeamCity требуется (согласно документации) sun/oracle версия JVM…

PythonPython на примере демона уведомления о новых коммитах Git из песочницы

Работая в команде я люблю быть в курсе активности участников. Поэтому было решено написать демона наблюдающего за поступлением новых коммитов в репозиторий git’а. Так как я работаю в Ubuntu, то уведомление было реализовано встроенным способом — библиотекой libnotify.
Язык — Python!

image

В статье упоминается:
1. Демон на Python;
2. Логирование на Python;
3. Хранение конфигурационных файлов программ на Python;
4. Работа с командами ОС из скриптов Python;
5. Получения списка последних изменений из git’а;
6. Стандартные всплывающие уведомления Ubuntu.

GitGitlab 2.0

image
22 декабря мы зарелизили версию 2.0.

Основные изменения:
  • Переезд с gitosis на gitolite.
  • Пересмотрен дизайн. Теперь он более удобен и практичен.
  • Улучшенное управление правами
  • Улучшенная система email — нотификации.
  • Улучшение dashboard.
  • Улучшение работы дерева файлов и каталогов.
  • Atom лента для комитов и тасков.
  • Багофикс + другие мелкие изменения.

GitПочему вы предпочитаете Git прочим DVCS?

Проголосовало 686 человек. Воздержалось 386 человек.

PHPВышел PhpStorm 3.0

Доступна для загрузки новая версия PhpStorm — среды разработки для PHP от компании JetBrains. Закачка идет быстро и нас здесь хорошо знают — так что буду краток.

Сотни различных улучшений, более полуторы тысячи голосов пользователей добравшихся до трекера. Наиболее заметные новые функции и изменения:

  • Анализ кода и поиск дубликатов помогут вам найти потенциальные ошибки и код низкого качества, рефакторинг — безопасно улучшить его
  • Диаграммы классов UML помогут охватить взглядом структуру проекта и семантическое представлений изменений — локальных или из VCS
  • Просмотр результатов профилирования c помощью Xdebug и Zend Debugger
  • Поддержка PhpUnit 3.6 и всех опций командной строки
  • CoffeeScript
  • Рекурсивная синхронизация папок и гибкая настройка исключений FTP/SFTP
  • Microsoft TFS, граф ревизий для git
  • Новый интерфейс для всех операционных систем

Подробности и картинки

Уже скоро: релиз WebStorm 3.0 — поддержка Node.JS, JSLint и JSTestDriver

Работайте с удовольствием!

P.S. Ошибки — в трекер, вопросы — в форум, работа над 3.0.1 уже идет!