Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];

Вниз

Кто-нить пользует 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.042 c
2-1184781110
Sdubaruhnul
2007-07-18 21:51
2007.08.19
Поиск файлов возвращает артефакты


3-1178186695
Slider007
2007-05-03 14:04
2007.08.19
Интерфейс для создания документа


1-1181179291
Igor_K_A
2007-06-07 05:21
2007.08.19
Обработка Bitmap двумя Thread


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


8-1163235073
Cool Boy
2006-11-11 11:51
2007.08.19
Как у TAgent -а





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский