Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Кто-нить пользует CVS ?   Найти похожие ветки 

 
Stanislav ©   (2007-07-20 13:19) [0]

На сколько это удобно?


 
DrPass ©   (2007-07-20 13:24) [1]

Я использую. Насколько удобно? Ну... а насколько тебе удобно использовать отвертку или тапочки?


 
Stanislav ©   (2007-07-20 13:27) [2]

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


 
@!!ex ©   (2007-07-20 13:35) [3]

SVN наше все.


> Я че-то там так  и не понял можно ли чтобы одновременно
> два чел. скачали себе 1 файл откорректировали из зафиксировали,
> при этом чтобы изменения внесенные 1-м и 2-м сохранились?

в SVN точно можно. Если не будет конфликтов, он сам все сольет, если меняли одно и тоже, попросит разрулить вручную.


 
DrPass ©   (2007-07-20 13:38) [4]


> в SVN точно можно. Если не будет конфликтов, он сам все
> сольет, если меняли одно и тоже, попросит разрулить вручную

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


 
Игорь Шевченко ©   (2007-07-20 13:48) [5]

Я использую. Доволен.


 
Stanislav ©   (2007-07-20 14:03) [6]

Ну, тогда как возникнут вопросы буду обращаться.


 
X9 ©   (2007-07-20 14:15) [7]


> Stanislav ©   (20.07.07 13:19)  [0]

CVS имеет недостатки, для решения которых была создана SVN. Поэтому начинать сейчас использовать CVS я бы не рекомендовал.


 
ANTPro ©   (2007-07-20 14:16) [8]

SVN - новое
CVS - старое

остальное подробно в гугле


 
@!!ex ©   (2007-07-20 15:22) [9]

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

Нет. Вполне нормально.
Либо конфлик разрешаешь, либо если не можешь - откатываешь своб версию и переписываешь.
Вот если неделями файлик лежит и ты его правишь, тогда проблема.
В КД так заведено:
Правишь файлик какое то время.
Исправил - берешь версию с сервера. Разруливаешь все конфликты, если он и есть.(Редко, но бывает)
После чего спокойно, рабочую версию кладешь на сервер.


 
StriderMan ©   (2007-07-20 15:43) [10]

юзаем VSS - там таких проблем в принципе не бывает. Править файл одновременно может только 1 человек, сответственно никаких конфликтов

хотя согласен что гибкость не та.


 
DrPass ©   (2007-07-20 16:01) [11]


> @!!ex ©   (20.07.07 15:22) [9]


> Либо конфлик разрешаешь, либо если не можешь - откатываешь
> своб версию и переписываешь

Вот именно. А зачем этот геморрой, если его можно элементарно избежать?


 
Kolan ©   (2007-07-20 16:11) [12]

> А зачем этот геморрой, если его можно элементарно избежать?

Вот только что прочитал в книге про SVN:
Не стоит возлагать большие надежды на то, что блокирующая система лучше защищена от конфликтов; на практике блокирование снижает продуктивность как ничто другое.
http://svnbook.red-bean.com/nightly/ru/svn-book.html#svn.basic


 
Kostafey ©   (2007-07-20 16:43) [13]

> http://svnbook.red-bean.com/nightly/ru/svn-book.html#svn.basic

Кстати, не ожидал что книги на русском языке по Subversion есть.


 
Kolan ©   (2007-07-20 17:51) [14]

Ксти благодарю афтора ветки, так как наконец я разабрался что это такое,
и самое главное скачал инструмент http://tortoisesvn.tigris.org/.

Все оказалось гораздо проще, меня слова типа Apache пугали, но оказалось что он не обязателен&#133


 
@!!ex ©   (2007-07-20 18:06) [15]

> Вот именно. А зачем этот геморрой, если его можно элементарно
> избежать?

Зато другой геморой появляется.
Когда чел думает(ага. вот этот файлик мне сейчас не нужен,Э но сокро понадобится).
Блокирует файлик(так на всякий случай) и вся контора ждет, пока он его разблокирует.
За пол года работы я всего 2 раза столкнулся с конфликтами при слиянии, и оба раза конфликт решался парой кликов.


 
_Слоник   (2007-07-20 18:58) [16]

конфликты в SVN только при мёрже двух веток бывают, в обычном режиме тоже пару раз всего встречал


 
DrPass ©   (2007-07-20 21:27) [17]


> Блокирует файлик(так на всякий случай) и вся контора ждет,
>  пока он его разблокирует.

Ну не знаю... у нас для таких случаев придуманы телефоны. Если что-то заблокировано, звонишь и спрашиваешь...


 
Kolan ©   (2007-07-20 22:06) [18]

> придуманы телефоны.

Особливо если чел на др. конце света. НА счетах за телефон разоришся&#133 Прочти книжку что я привел — так подробно объясняется чем так хуже&#133


 
Sergey Masloff   (2007-07-20 22:15) [19]

StriderMan ©   (20.07.07 15:43) [10]
>юзаем VSS - там таких проблем в принципе не бывает. Править файл >одновременно может только 1 человек, сответственно никаких конфликтов
Если лично ты не владеешь возможностями инструмента который используешь то зачем и людей в заблуждение вводить? Все можно но кулхацкеры документацию никогда же не читают...


 
Суслик ©   (2007-07-20 23:17) [20]

svn лучше


 
Kerk ©   (2007-07-20 23:23) [21]

А посоветуйте систему контроля версий, отвечающую требованиям этим:
1) встроенная багтрекинг-система;
2) возможность получать версию исходников по выбранным баг-репортам, игнорируя изменения, которые к выбранным баг-репортам не привязаны;


 
Суслик ©   (2007-07-20 23:26) [22]

может http://trac.edgewall.org/ поможет?


 
Kerk ©   (2007-07-20 23:31) [23]

> [22] Суслик ©   (20.07.07 23:26)

Пасип, посмотрю.
Сейчас мы используем связку VSS+DevTrack, но она не отвечает второму пункту - расширяется штат, количество паралельно вносимых изменений растет и все сложнее и сложнее апдейты собирать.


 
Суслик ©   (2007-07-20 23:33) [24]

Я второй п. вообще не очень понял.
Насколько я понимаю, проблема в том, чтобы ставить хорошие комменты.

Если человек будет ставить комменты (например ##0443, что значит ошибка 443),то поиском можно найти, в каких ревижинах она была фиксена.

Т.е. имхо это проблемы организации, а не системы.

ЗЫ
На самом деле трак не советую ставить - очень гиморно :)


 
Kerk ©   (2007-07-20 23:37) [25]

> [24] Суслик ©   (20.07.07 23:33)

Ну смотри :)
* Есть релизная версия файла mainform.pas
* Вася Петров исправляя ошибку 501, вносит изменения и сохраняет в VSS
* Затем Рома Янковский исправляя ошибку 666, вносит изменения и сохраняет в VSS
* Вова Иванов собирая апдейт должен иметь возможнсть взять исправление ошибки 666, игнорируя изменения 501.

Да, это можно делать руками, используя комментарии. Но неудобно же. Насколько я знаю, ClearQuest это умеет, но там нету багтрекинга.


 
Суслик ©   (2007-07-20 23:43) [26]

Может желание твое странное?
Ей богу, как можно хотеть последущий фикс, без предыдущего?

Вопрос по примеру. Правильно ли я понимаю, что ты говоришь о том, что в сборку не должен пойти 501 ошибка, а только 666?

Если так, то:
1. Либо тебе нужны т.н. ветки.
2. Либо ты хочешь странного.


 
Kerk ©   (2007-07-20 23:47) [27]

[26] Суслик ©   (20.07.07 23:43)
> Ей богу, как можно хотеть последущий фикс, без предыдущего?

Нормальное желание. 501й фикс не относится к текущему апдейту. У нас такое регулярно бывает :)

По рассказу товарища, вернувшегося к нам из крупной западной конторы, ClearQuest хранит не версии файла, а историю его изменений. Т.е. реально можно собрать его в любом виде. Вот что-то такое было бы идеально. Туда б еще багтрекинг. И еще чтоб стоило недорого :)


 
Суслик ©   (2007-07-20 23:58) [28]

Делай ветки.
В SVN можно для каждого файла сделать ветку.

В SVN есть два вариант делать ветки. Ты можешь сказать, что кокрентный файл (каталог) имеет варианты. Различия состоят в том, как эти файлы (каталоги) отображаются в файловой системе.

Для дальнейшего рассмотрения пусть будет такой пример:
[SVNRoot]
  [MainSources]
     File1.pas.
     File2.pas.

Вар. 1. Ты можешь скажать, что файл File1.pas имеет 2 ветки. Ты (Роман) у себя делаешь checkout. Для файла File1.pas делаешь switch на свою ветку. В результате у тебя локально лежит твоя копия. Ты написал и отладил. Когда ты делаешь commit, то ты делаешь его в свою ветку. Твой напарник работает в своей ветке. В результате в репозитарии

[SVNRoot]
  [MainSources]
     File1.pas.(верия Ромы)
     File1.pas.(верия коллеги Ромы)
     File2.pas.

Тот, кто собирает должен закачать локально ту версию, которую ему нужно.

Вар 2. Можно сделать весь каталог [MainSources] веткой.
Тогда репозитарий будет такой

[SVNRoot]
  [MainSources]
     File1.pas.
     File2.pas.
  [MainSources_Roma_Branch]
     File1.pas.
     File2.pas.
  [MainSources_Romas_Mate_Branch]
     File1.pas.
     File2.pas.

Ты правишь свою ветку, коллега - свою. Потому ветки можно между собой сливать.
Например, после выпуска релиза из твоей ветки, можно сделать merger твоей ветки в главную ветку. Туда же можно прилить ветку твоего коллеги.

PS Мое и не имхо - все зависит о управления, а не от системы. На основе SVN можно сделать очень complicated конфигурации. Было бы желание.
SVN доступен из командной строки. По имее можно сделать сборку автоматической. Было бы желание :)


 
Суслик ©   (2007-07-21 00:00) [29]

В SVN есть хуки - т.е. тригера на операции с репозитарием. Можно на PHP, перле, да хоть на дельфи написать авт. действия.


 
Kerk ©   (2007-07-21 00:08) [30]

> Суслик
Убедил :)
А как там с пунктом 1? Есть багтрекинг с привязкой репортов к конкретным веткам?


 
Суслик ©   (2007-07-21 00:16) [31]

да я тя не убеждаю. просто svn фришный и стабильно работает.

с svn ситуация такова.
1. клиент под svn - это конскольное приложение.
2. традиционно клиентом под svn является tortoise svn. Это windows приложение, встроенное в explorer.

TSVN юзает утилиты командной строки от svn. Т.е. через эти утилиты из репозитария можно вытянуть почти все. Значит и тебе удасться это.

-----

В TSVN есть такой атрибуты bugtraq:logregex и bugtraq:url. Ты в них можешь настроить пути до своего багтрекера (реально советую mantis - крайне прост в установке и использовании). Т.е смотришь ты лог своего репозитария и видишь гиперссылку. Кликаешь и переходишь на баг.
Наоборот (т.е. из трекера добраться до репозитария) я тебе сказал как делать - поиском по логам svn.

Папще - дело это творческое настойка SVN. Можешь добиться офигительной автоматизации.


 
Cobalt ©   (2007-07-21 02:04) [32]

мы пользуемся CVS + скрипты на Perl.
простые изменения, т.е. в разных местах файла - нормально мержит.
ну а сложные, чтобы над одним и тем же несколько человек работало - у нас разруливают на уровне постановки задач.

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


 
iZEN ©   (2007-07-21 21:20) [33]


> Stanislav ©   (20.07.07 13:19)
>
> На сколько это удобно?
>

Я пользую.
С помощью csup исходники ядра и мира FreeBSD обновляю периодически. Дерево портов обновляю регулярно. Пересобираю, если появились важные изменения.
Удобно.


 
Курдль ©   (2007-07-23 20:50) [34]

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

Но сейчас, по воле "корпоративных стандартов" перелез на ClearCase. Тоже свои плюсы и минусы. Но мое сердце он завоевал способностью интегрироваться в Visual Studio (только не говорите, что VSS тоже так умеет!).



Страницы: 1 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.025 c
2-1185136869
ReW
2007-07-23 00:41
2007.08.19
Цветовой Ключ


2-1185443040
ММК
2007-07-26 13:44
2007.08.19
Поворот TImage


1-1181132166
ILUT
2007-06-06 16:16
2007.08.19
Работа с буфером


1-1180368669
Dmitry_177
2007-05-28 20:11
2007.08.19
Перехват клавиатуры


2-1185432822
fisherman
2007-07-26 10:53
2007.08.19
по поводу цикла for.. to...do