crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Mercurial, публичный и персональный репозитории., Как организовать рабочий процесс.
Sokoloff
  опции профиля:
сообщение 26.1.2011, 19:27
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Всем привет.

Я работаю над проектом на двух машинах, на работе и дома. Часто бывает так, начал писать на одной, продолжил на другой. Соответственно надо просто и удобно синхронизировать код. Сейчас я делаю это с помощью приватного SVN сервера, перед уходом закомитил в него, на другой машине забрал.
Но теперь появляется публичный сервер проекта (mercurial), мне не хочется выкладывать там недоделанный код, только более-менее протестированный. Почитал я про DVCS, по идее, они позволяют организовать работу так:
Пишу код на работе, пора идти домой - я комичу данные в персональный репозиторий. Пришел домой, забрал изменения работаю дальше. Закончил определенную доработку, публикую код в публичном репозитории без истории изменений которые были на приватном сервере.

Кто работает с mercurial подскажите как такое сделать?


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.1.2011, 19:53
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Sokoloff @ 26.1.2011, 21:27) *
публикую код в публичном репозитории без истории изменений которые были на приватном сервере.
держать клона публичного хранилища дома.
Как в личном хранилище нарисуется нормальный вариант, просто копировать файлы в рабочий каталог клона, фиксировать в нём изменения и отправлять на сервер.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 26.1.2011, 21:11
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(Litkevich Yuriy @ 26.1.2011, 19:53) *
Цитата(Sokoloff @ 26.1.2011, 21:27) *
публикую код в публичном репозитории без истории изменений которые были на приватном сервере.
держать клона публичного хранилища дома.
Как в личном хранилище нарисуется нормальный вариант, просто копировать файлы в рабочий каталог клона, фиксировать в нём изменения и отправлять на сервер.

Это сработает с измененными файлами, для новые надо добавить под контроль, еще надо удалять удаленные (ух, как коряво звучит). Можно использовать rsync, и скрипт, но это как-то монструозно.
DVCS позволяют отправить изменения патчем, можно через это сделать, накатывать патч скриптом на копию публичного хранилища а потом отправлять. Но это все велосипедно. А более стандартных методов нет?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 26.1.2011, 21:47
Сообщение #4


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


"более стандартный" - это механизм ветвления. отделил ветку, поработал в ней, закоммитил в главную версию. стандартно именно для этой цели и придумано. но будет ли это работать с удалёнными хранилищами - я хз. и как удалённые репозитории сводят конфликты при объединении разных веток - я тоже не особо знаю. читай документацию по меркуриалу на эту тему.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.1.2011, 21:01
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Iron Bug @ 26.1.2011, 23:47) *
отделил ветку, поработал в ней, закоммитил в главную версию
меркуриал, как и гит, всю историю помнят, т.е. в публичном хранилище не будет в виде одной правки. Будут все промежуточные.

Sokoloff, яб не стал над этим мучатся. Есть правки и есть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 28.1.2011, 8:05
Сообщение #6


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Litkevich Yuriy @ 27.1.2011, 23:01) *
меркуриал, как и гит, всю историю помнят, т.е. в публичном хранилище не будет в виде одной правки. Будут все промежуточные.

да и пускай себе будут. они же будут в отдельной ветке, а не в главном направлении, насколько я понимаю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 28.1.2011, 19:37
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(Iron Bug @ 28.1.2011, 8:05) *
Цитата(Litkevich Yuriy @ 27.1.2011, 23:01) *
меркуриал, как и гит, всю историю помнят, т.е. в публичном хранилище не будет в виде одной правки. Будут все промежуточные.

да и пускай себе будут. они же будут в отдельной ветке, а не в главном направлении, насколько я понимаю.


Можно конечно, это не критично, просто не хочется мусор из избы выносить.

Что-то я не пойму, в чем тогда преимущества распределенных систем. Все что предлагалось можно сделать и на SVN-е. Я думал, что распределенная система позволяет сделать распределенный процесс разработки. Ведь мою задачу можно и по другому представить. Есть несколько групп разработчиков, каждая занимается отдельным модулем проекта, возможно в разных городах или странах. У каждой группы свой рабочий репозиторий. Есть "выпускающие редакторы", которые переносят готовые доработки из рабочих реп в основной репозиторий. Схема уже не выглядит надуманной. Я думал что такое можно получить в DVCS "из коробки".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.1.2011, 21:24
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Iron Bug @ 28.1.2011, 10:05) *
а не в главном направлении, насколько я понимаю.
ну если ветку потом слить с основной (master/trunk), то они и там появятся

Цитата(Sokoloff @ 28.1.2011, 21:37) *
Я думал, что распределенная система позволяет сделать распределенный процесс разработки.
она именно это тебе и даёт, в SVN-не ты никаких правок в отсутствии доступа к единственному хранилищу не зафиксируешь.

П.С.
Если мне память не изменяет, то в "ртути" ветки - это просто новые хранилища, в отличие от гита. Мол концептуальный замысел такой.

Цитата(Sokoloff @ 28.1.2011, 21:37) *
Есть "выпускающие редакторы", которые переносят готовые доработки из рабочих реп в основной репозиторий.
ну и пусть себе переносят, посмотри как троли работают. Все (!) их правки в конце концов появляются в открытом хранилище.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 28.1.2011, 21:49
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(Litkevich Yuriy @ 28.1.2011, 21:24) *
Цитата(Iron Bug @ 28.1.2011, 10:05) *
а не в главном направлении, насколько я понимаю.
ну если ветку потом слить с основной (master/trunk), то они и там появятся

Цитата(Sokoloff @ 28.1.2011, 21:37) *
Я думал, что распределенная система позволяет сделать распределенный процесс разработки.
она именно это тебе и даёт, в SVN-не ты никаких правок в отсутствии доступа к единственному хранилищу не зафиксируешь.

П.С.
Если мне память не изменяет, то в "ртути" ветки - это просто новые хранилища, в отличие от гита. Мол концептуальный замысел такой.

Я читал что это в базаре так, но может и здесь то-же. Я еще с hg не работал.
Цитата(Litkevich Yuriy @ 28.1.2011, 21:24) *
Цитата(Sokoloff @ 28.1.2011, 21:37) *
Есть "выпускающие редакторы", которые переносят готовые доработки из рабочих реп в основной репозиторий.
ну и пусть себе переносят, посмотри как троли работают. Все (!) их правки в конце концов появляются в открытом хранилище.

Т.е. проблема только в сокрытии промежуточных правок? Остальное можно сделать без проблем?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 29.1.2011, 0:19
Сообщение #10


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(Litkevich Yuriy @ 28.1.2011, 23:24) *
она именно это тебе и даёт, в SVN-не ты никаких правок в отсутствии доступа к единственному хранилищу не зафиксируешь.

зафиксируешь. надо просто "перевести стрелки" с одного хранилища на другое. это делается одной командой relocate. переводишь с удалённого на локальное и правишь сколько влезет. потом - обратно переводишь и коммитишь. я это проделывала со своим переносным хранилищем: я не каждый раз с собой винт переносной на работу таскаю, я промежуточные копии иногда сохраняю локально. к тому же, есть экспорт-импорт и можно переносить отдельные части, выносить их в отдельные хранилища и много чего ещё.

Сообщение отредактировал Iron Bug - 29.1.2011, 0:23
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2024, 2:38