Russian Qt Forum
Ноябрь 24, 2024, 05:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Фирменный репозиторий Кладовки готовых решений :)  (Прочитано 27915 раз)
asvil
Гость
« Ответ #30 : Январь 23, 2011, 00:03 »

Ну что же, тогда давайте начнем. Я взял на себя смелость создать команду на gitorious.org
Имя команды: progorg-developers http://gitorious.org/+progorg-developers
Иконка: кнопка включения стиральной машины, она же перевернутая буква "Q" хвостиком вверх, вообщем логотип данного сайта.

Небольшой мануал для публикации Ваших Qt/C++ решений на gitorious.org
Для работы с хостингом проектов Вам понадобиться две программы: ssh-клиент и scm git. Для windows обе программы поставляются в одном инсталляционном пакете:
http://code.google.com/p/msysgit/
Прямая ссылка на текущую версию:
http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.3.1-preview20101002.exe

Установка и настройка
Запускаем, устанавливаем. При установке будет предложено выбрать тип запуска Git.
Я предпочитаю второй вариант установки системных переменных.
Run from the Windows command prompt: Устанавливает Git и прописывает путь к консольной версии в PATH. Команду ‘Git Bash here’ всё равно можно использовать.
Третий вариант может привести к некорректной работе некоторых других приложений.

Теперь в командной строке необходимо ввести Ваши личные данные.
Код:
git config --global user.name 'Ваше имя['
git config --global user.email 'ваш_email@example.com'
Данные из конфига позже необходимо будет заполнить в gitorious'е.

Далее необходимо сгенерировать пару ключей для защищенного ssh соединения. Открываем консоль Git bash.
Код:
ssh-keygen -t rsa -C "[b]ваш_email@example.com[/b]" #(e-mail из git-config)
У Вас спросят где расположить ключи, дважды спросят пароль (passphrase). Пароль должен быть сложным. После этого Вы получите два файла и RSA fingerprint примерно такого вида:
Код:
e8:ae:60:8f:38:c2:98:1d:6d:84:60:8c:9e:dd:47:81 tekkub@gmail.com

Далее откройте файл id_rsa.pub. По умолчанию он располагается в домашней директории пользователя.
Зарегистрируйтесь на ресурсе: http://gitorious.org. Если Вы являетесь счастливым обладателем OpenID просто авторизируйтесь.
Далее перейдите на "Dashboard" вашего аккаунта, и настройте следующую личную информацию ("Edit your details"):
  • Полное имя (имя из git-config)
  • e-mail (git-config)

Перейдите в gitorious.org "Dashboard" "SSH keys". Добавьте новый ключ и вставте содержимое id_rsa.pub.

Работа с git/gitorious
Далее создайте новый проект на ресурсе.
Владелецем оставте себя. Поле slug должно быть уникальным в рамках всего ресурса. Выберите лицензию, не поленитесь заполнить метки. Краткое описание обязательно.
Далее gitorious предложит создать репозитарий для проекта. Оставьте флаг "Enable merge request" включенным, это позволит Вашим коллегам дополнить/исправить что-то в вашем коде и попросить Вас зафиксировать данное изменение в репозитарии.

Перейдите в папку с Вашим проектом и выполните следующие действия:
Код:
git init #Создаем локальный репозитарий
git remote add origin git@gitorious.org:slug-проекта/имя-репозитария.git
git add . #Добавляем все файлы
git commit -a -m "Initial commit" # Создаем первый коммит - он необходим
git push origin master # Синхронизируем ветку master с сервером origin. origin в данном случае gitorious.org
# Редактируем что-либо в проекте, исправляем ошибки, добавляем файлы etc
# Если добавились файлы делаем
git add newfile.cpp newfile.h
git commit -a -m "Some new features"
# local repo -> origin (gitorious) repo
git push # Отправляем свои изменения в origin репозитарий
# origin (gitorious) repo -> local repo
git pull # Получаем чужие изменения из origin репозитария
Отличия от централизованных систем контроля исходного кода - это наличие этапа синхронизации вашего репозитария с удаленным.
Это значит вы можете работать с Git, почти также как с csv/svn, когда ваш репозитарий локален. Когда же вы хотите публикации вашего проекта, Вам необходимо цикл (изменил-закомитил) дополнить циклом (получил данные от удаленных репозитариев/отправил данные в удаленные репозитарии)

Как попасть в команду.
Предоставьте Ваш nickname на gitorius'e в данной ветке форума, либо мне на почту filonenko.mikhail trampampam google mail.com, либо во внутренюю почту gitorious.org asvil.

Теперь когда все готово, перейдите в настройки проекта http://gitorious.org/slug-проекта/edit и выполните трансфер в команду.

Преимущества инновации.
Вы получите качественный и быстрый хостинг Ваших opensource проектов. Доступ к которым вы сможете получить из любого интернетного места (даже при отсутсвии git'а, Вы сможете скачивать архивы текущих состояний веток Вашего проекта). Приятная мелочь, Вы избавитесь от необходимости делать бэкапы.
Ваш проект будет протестирован некоторым количеством заинтересовавшихся людей, что положительно повлияет на качество проекта.
Ваш проект может быть доработан другими участниками команды, да и любым пользователем gitorious. Прямо в web интерфейсе Вы сможете просмотреть изменения и согласиться либо не согласиться с предлагаемым кодом.
Встроенный движок wiki позволит Вам быстро и удобно написать небольшую документацию по сборке и о других особенностях проекта.
Самые свободные проекты (MIT, BSD, like-Python, like-Postgresql, etc) позволят Вам использовать готовые библиотеки в коммерческих решениях.
Вам придется освоить Git и это доставит Вам удовольствие.


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

Ссылки
http://kuroikaze85.wordpress.com/2009/12/16/git-on-windows/
http://oss.fruct.org/wiki/Git
http://oss.fruct.org/wiki/Публикация_проектов_на_gitorious.org
« Последнее редактирование: Январь 24, 2011, 10:31 от Филоненко Михаил » Записан
SASA
Гость
« Ответ #31 : Январь 24, 2011, 13:22 »

Зарегистрировался. (AShushunov)
Как мне получить исходники уже выложенных проектов (я про progorg-developers)? А потом внести изменения?
В рамках предыдущей дискуссии, Вы предлагаете каждое "готовое решение" оформлять отдельным проектом, или отдельным репозиторием?
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #32 : Январь 24, 2011, 13:32 »

Я тоже зарегистрировался на gitorious: "navrocky"
Записан

Гугль в помощь
asvil
Гость
« Ответ #33 : Январь 24, 2011, 16:56 »

Добро пожаловать)

Продолжение руководства.
Упрощенный цикл работы:
В web http://gitorious.org/+progorg-developers. Выбираем нужный проект, выбираем нужный репозитарий данного проекта и собственно в консоли\ide осуществляем git clone
Код:
git clone git@gitorious.org/project-name.git
cd project-name
Вы получаете готовый к работе репозитарий Git, с настроенным origin на gitorious.
Вносим изменения. Далее сохраняем результат в локальном репозитарии.
Код:
git add .
git commit -a -m "Some new features/remove some bugs"
Далее отправляем изменения в origin.
Код:
git push
Если вы задавали пароль для ssh ключей, его сейчас и спросят.
Кто-то дополнил этот проект, вы узнали об этом (по почте, например).
Вы выполняете в локальном репозитарии синхронизацию
Код:
git pull

Оформление структуры
На данный момент я перенес в команду два проекта QtSqlSettings, qtscripttemplate. Это, для примера, не стоит на них ориентироваться.
Предлагаю, создать проекты QtCore, QtGui, etc.. а само решение создавать репозитарием в данных проектах.
Есть проекты не попадающие под данную классификацию, их стоит оформлять отдельно. Возможно проект содержит разнообновляемые сущности, например sql схему, front-end, reports, тогда проще будет создание репозитария для каждой сущности.

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

« Последнее редактирование: Январь 24, 2011, 23:23 от Филоненко Михаил » Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #34 : Февраль 11, 2011, 23:40 »

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

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #35 : Февраль 11, 2011, 23:49 »

Racheengel, а какие, по твоему мнению, минусы гита для работы в команде?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
asvil
Гость
« Ответ #36 : Февраль 11, 2011, 23:55 »

Я ориентировался на хостинг проектов.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.058 секунд. Запросов: 23.