Хостинг open source проекта: code.google.com или github?

Нужно захостить OSM-плагин для Google Sketchup.

Я до сих пор пользовался svn на code.google.com.
Но сейчас модно хостить на github. Причем не только модно, но и полезно.

У кого накопился опыт использования github, напишите, о своем опыте.

Долго ли вникать, что к чему?

Есть ли на github возможность загружать произвольные файлы (zip-архивы, исполняемые файлы и т.д.) для скачивания?

Мне лично удобнее mercurial и bitbucket. Намного проще заливать новый проект на сервер, намного проще ветвиться, чем в git. Использую TortoiseHG, но и в консоли можно работать.

На bitbucket надо залить свой публичный ключ ssh, и дальше когда создаёшь проект, всё написано - по какому урлу залить. В Tortoise потом вставляешь урл ssh для работы, и всё.

Добавлю, что гуй в работе в ветками очень нужен, потому что 1) сильно снижает вероятность закоммитить правки не в ту ветку 2) облегчает работу с анонимными ветками в Mercurial.

Дольше в сам git вникать :slight_smile: А если это пройденный этап, то остальное просто.

Файлы заливать можно. (кнопка Downloads → add new download)

В самом репозитории можно в отдельной ветке (gh-pages) свой держать web сайт для проекта, и на github-е он будет автоматически развёрнут.

Ну и вдобавок: issue tracker (жаль, что только с регистрацией), wiki и чувство собственной причастности к модным тенденциям :slight_smile:

Узнал что плагин написан на ruby. Тогда точно в git и в github. У рубистов это не то модно, а чуть ли не всеобщая договорённость :slight_smile:

Ну раз файлы выложить можно для скачивания, буду git осваивать.

Пишите, тогда, какие были трудности в освоении git

Про github уже всё сказали, могу только присоединиться. Единственное что мне не нравится - недоделанные синтаксисы в wiki - что родной markdown, что mediawiki’вский, в итоге, скажем, вложенные списки толком не сделать.

А Git лучше всего осваивать по http://progit.org/book/ru/ - после её прочтения и нескольких экспериментов локально, всё становится на свои места. Я, к сожалению, про неё поздно узнал, а интернет завален гайдами, howto и книгами вида (init/clone + много-много про интерактивный add + commit + чуть-чуть про push/pull), и ничего про такие важные вещи как fast-forward, rebase, remote и управление удалёнными ветками, только поэтому трудности и были.

И ещё вот эта статья даёт представление что можно (и нужно) делать с помощью веток в DVCS: http://nvie.com/posts/a-successful-git-branching-model/

AMDmi3:

PDF книги Pro Git скачал. Буду разбираться. Спасибо за ссылки.

Перевел локальный проект с Svn на Git + Git Extension. Всё нравится, только полностью отсутствует какая-либо автоматизация по именованию версий. В SVN было понятно - r123 и далее, в GIT нет такого. Нагуглил только
git describe
но для этой команды надо не забывать вручную ставить тэги, автоматически ставить их по commit он не умеет. Кто как справляется с этой проблемой ?
Спасибо.

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

Именование версий - git tag. Только если один раз тег поставишь и отправишь в другие репозитории, потом не снять этот тег с коммита никак.

Почему не снять? git tag -d, для удалённых репозиториев git push :, для тех кто делает pull - git fetch --tags.

AMDmi3
siberiano

Общий смысл - автоматически проставить версию в #define, чтобы впоследствии идентифицировать исходник. Нашел какие-то скрипты для внедрения в Pre-Build Event (VS2005), буду копать в их сторону.

не нравится, что на github.com нет статистики по количеству скачиваний выложенных файлов, как в code.google.com

https://git.wiki.kernel.org/index.php/GitFaq#Does_git_have_keyword_expansion.3F

Вполне даже есть, если нажать Add new download. Контринтуитивно конечно, мне тоже старый интерфейс больше нравился.