Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Системный анализ, проектирование и UML > Что использовать для контроля версий файлов


Автор: Nuzur 19.4.2006, 16:12
Использую Visual Studio 8

Требование:
1. Побесплатнее.
2. Надежность
3. Кроссплатформенность
4. Простота настроект.

Буду очень признателен, а то за сегодня перелопатил тучу литературы  одни то хвалят то хаят и ничего толком не яфно.  

Автор: pablo 19.4.2006, 18:39
Если вопросс стоит что выбирать SVN или CVS, я бы отдал предпочтение SVN. Бесплатный же ис которых - TortoiseSVN  

Автор: bsa 19.4.2006, 22:14
И svn и cvs оба бесплатные. TortoiseSVN очень удобная оболочка под Windows. Под Linux подобного нет. smile 

Автор: Nuzur 20.4.2006, 12:13
Я поставил TortoiseSVN что дальше? Как его заставить следить за проектами? 

Автор: bsa 20.4.2006, 20:08
 smile
Чтобы следить, надо сначала создать репозитарий. Как это сделать в tortoisesvn я не знаю.
Знаю, как с помощью консольного svn.
svnadmin create <path>
Запускаешь repo browser (правой кнопкой на папке) и создаешь папку "trunk".
После этого создаешь проект, и импортируешь его в этот репозитарий в подпапку trunk. После этого делаешь checkout из этого репозитария и получаешь копию проекта, который уже контролируется.
Пример для консольной программы:
Код
svnadmin create c:\repo
svn mkdir file://c:\repo\trunk
cd path\to\project
svn import file://c:\repo\trunk
cd path\to\new\work\dir
svn checkout file://c:\repo\trunk
 

Автор: Nuzur 21.4.2006, 14:12
Мдя, спасибо тогда за совет, очень удобно и своевремменнно 

Автор: Nuzur 25.4.2006, 11:45
Может кто поможет все-таки, очень нуна. 

Автор: un1t 25.4.2006, 22:12
У SVN как уже сказали под винду есть гуй, удобная штука.
Еще хочу сказать не за что не юзай VSS, в мало того что он сильно отстает по возможностям, дак еще есть реальный шанс что он накроется медным тазом в один прекрасный момент. 

Автор: DeadSoul 25.4.2006, 22:19
Цитата(un1t @  25.4.2006,  22:12 Найти цитируемый пост)
дак еще есть реальный шанс что он накроется медным тазом в один прекрасный момент.  

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


Цитата(Nuzur @  25.4.2006,  11:45 Найти цитируемый пост)
Может кто поможет все-таки, очень нуна.  

Попробуй правый клик на папке, подменю Tostoise 

Автор: DeadSoul 25.4.2006, 22:42
Пункт меню "Create repositary Here" не есть то самое? 

Автор: ShadeSt 26.4.2006, 14:30
вроде же bsa написал что и как.

сначала надо создать репозиторий - место, где будет хранится проект со всей историей версий, для этого делаем:
Код

svnadmin d:\testrep


после этого делаем импорт проекта под контроль системы для этого делам так:
Код

svn import D:\temp\newver file:///D:/testrep/NewVer -m "initial import"

в каталоге D:\temp\newver лежат файлики проекта.

после этой команды видим нечто вроде такого:
Код

Adding         D:\Temp\NewVer\stdafx.h
Adding         D:\Temp\NewVer\NewVer.vcproj.BANK.nick.user
Adding  (bin)  D:\Temp\NewVer\NewVer.cpp
Adding         D:\Temp\NewVer\NewVer.vcproj
Adding         D:\Temp\NewVer\stdafx.cpp
Adding         D:\Temp\NewVer\ReadMe.txt
Committed revision 1.

этот вывод означает счастье в виде нового проекта под контролем SVN

Далее, для того что бы вытащить проект из репозитория делаем так:
Код

svn checkout file:///d:/testrep/NewVer NewVer

при этом в текущем каталоге создается каталог newver в который ложится проект и плюс служебные данные для системы svn. данная команда выводит следующее:
Код

A    NewVer\stdafx.h
A    NewVer\NewVer.vcproj.BANK.nick.user
A    NewVer\NewVer.cpp
A    NewVer\NewVer.vcproj
A    NewVer\stdafx.cpp
A    NewVer\ReadMe.txt
Checked out revision 1


Далее как то изменяем файлик ReadMe.txt  - просто для теста,
и находясь в том каталоге, куда вытащили проект делаем так:
Код

svn status


на что получаем:
Код

D:\Temp\1\NewVer>svn status
M      ReadMe.txt

это говорит о том, что файл был модифицирован.

что бы сложить изменения в репозиторый надо сделать commit:
Код

D:\Temp\1\NewVer>svn commit -m "changes"
Sending        ReadMe.txt
Transmitting file data .
Committed revision 2


вобщем, где-то примерно так.
еще, регулярно надо делать update для того что бы всегда была "свежая" версия проекта.

подробнее можно почитать тут http://svnbook.red-bean.com/
там где то есть переводимое на русский язык издание..

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

Автор: Abracadabr 20.5.2006, 00:42
Совет: обеспечить автоматичексий запуск svnserve в Win 2K можно с помощью Group Policy (см. http://techsupt.winbatch.com/TS/T000001048F90.html) 

UPDATE: ЛАЖА - через 10 минут после старта приложение прибивается системой.
В журнал событий производится запись:
Цитата
Выполнение сценариев объекта групповой политики превысило допустимый интервал времени и будет прекращено. 

Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp".


Юзайте WebDAV  и не парьтесь smile 

Автор: balmaster 21.5.2006, 16:40
Вообщето svn прекрасно работает в связке с apache
Юзаем и на Windows и на Linux 

как сервис работает апач через него предоставляется 
доступ к репозиториям svn  

Автор: Abracadabr 21.5.2006, 17:39
Цитата(balmaster @  21.5.2006,  16:40 Найти цитируемый пост)
Вообщето svn прекрасно работает в связке с apache...

Это и есть WebDAV (частный случай) smile

Интересно другое: поюзав TortoiseSVN я нашел такие странности:
  •  при переименовании файла его предыдущая история может быть найдена только после ОЧЕНЬ неудобного лазания по 'Revision graph' (а не через 'Show log');
  •  после коммита ревизия обновляется не всему дереву, но только внесенному файлу (это отличается от заявленного в доках SVN; хоть и при последующих коммитах  файлов им устанавливается правильная ревизия: максимальная + 1);
 

Автор: -ser- 24.5.2006, 06:15
а что не устраивает в Visual SourceSafe для родной же студии под Windows, помимо стоимости? 

Автор: DeadSoul 24.5.2006, 09:58
Цитата(-ser- @  24.5.2006,  06:15 Найти цитируемый пост)
а что не устраивает в Visual SourceSafe для родной же студии под Windows, помимо стоимости? 

Когда 20 человек одновременно колбасят проект MS VSS очень плохо мержит 

Автор: Earnest 24.5.2006, 17:27
А что, это у вас часто бывает? Чтобы 20 человек да на один файл... Потому что сколько на проект - не важно: мержатся-то не проекты, а отдельные файлы. 

Автор: Abracadabr 24.5.2006, 18:46
Цитата(DeadSoul @ 24.5.2006,  09:58)
Когда 20 человек одновременно колбасят проект MS VSS очень плохо мержит

Мержирование вообще не является функцией сервера VSS smile
Мержирование производится на клиентской стороне специализированным ПО, которое вызывает VSS-клиент. 
А уж кто какой мержировщик использует и как его настроил - уж это точно не имеет отношения к VSS. 

Автор: DeadSoul 24.5.2006, 22:07
Цитата(Earnest @  24.5.2006,  17:27 Найти цитируемый пост)
А что, это у вас часто бывает? Чтобы 20 человек да на один файл... Потому что сколько на проект - не важно: мержатся-то не проекты, а отдельные файлы. 

Нет. Они правят разные файлы(иногда одинаковые). Одинаковые при 20 людях бывали частоsmile И в итоге слишком часто руками правили конфликты 

Автор: -ser- 25.5.2006, 03:38
ну если речь только о мержевании, то я вообще здесь проблему не вижу, если речь идет о 2005-й студии, объявляй себе класс как partial и работай автономно. 

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

другое дело, если бесплатные аналоги по функциональности сегодня ничем не уступают VSS. но здесь прозвучали какие-то жалобы, перевели разговор на другие платформы, и в итоге, как для меня, картина вообще смазалась.

насколько я понял, TortoiseSVN для студии 2005 под Windows, на сегодня наилучшее решение?
 

Автор: Earnest 25.5.2006, 08:36
Цитата(DeadSoul @  24.5.2006,  23:07 Найти цитируемый пост)
И в итоге слишком часто руками правили конфликты  

Странно. Если 2 человека - то проблемы бывают чрезвычайно редко. Это надо, чтобы они умудрились в одном месте (классе, функции) ковыряться. Иногда бывает, что старший девелопер делает какой-нибудь мощный рефакторинг. Так достаточно просто предупредить - типа, я сейчас все тут поломаю, не лазьте некоторое время. А так - надо просто чаще сдаваться, не держать долго код и, особенно, ресурсы.

Пользуюсь VSS много лет; если вся работа происходит в локальной сети - проблем нет.
Одно время пришлось работать с базами данных Centura, так там было какое-то средство Team Management, но даже втроем работать было невозможно. Засунули все это дело в VSS, пойдя на некоторые извращения, и настало щастье. С тех пор еще больше VSS уважаю. 

Автор: Nuzur 26.5.2006, 10:52
Мдя ну и нафлудили вы....
Начали за здравие закончили за упАкой.

Earnest, на 1-м посте сказанно о бесплатности и кроссплатформенности. Где вы ЕТО увидели у SS?

Долго не смотрел сей пост. Хочу все сказать что на текущий момент пользуюсь cvs-ом, причем под командной строкой. Знаю что извращениЦЦ.
НО! Но все работает. Софтинка бесптная и кроссплатформенная и работает нормально (тьфу^3) уже 2-й месяц.

 

Автор: DeadSoul 26.5.2006, 22:45
Цитата(Nuzur @  26.5.2006,  10:52 Найти цитируемый пост)
Хочу все сказать что на текущий момент пользуюсь cvs-ом, причем под командной строкой. 

А SVN в оболочку винды встраивается smile  

Автор: Abracadabr 26.5.2006, 22:59
Цитата(DeadSoul @ 26.5.2006,  22:45)
Цитата(Nuzur @  26.5.2006,  10:52 Найти цитируемый пост)
Хочу все сказать что на текущий момент пользуюсь cvs-ом, причем под командной строкой. 

А SVN в оболочку винды встраивается smile

Сам SVN, слава Богу, никуда не встраивается smile
Встраивается – один из SVN-клиентов, TortoiseSVN...
...созданный по образу и подобию аналогичного клиента  для CVS (TortoiseCVS), кстати smile 

Автор: DeadSoul 26.5.2006, 23:18
Abracadabr, я тортоса и имел ввиду 

Автор: Nuzur 29.5.2006, 16:16
Флудеры 

Автор: Nuzur 8.6.2006, 17:42
Все перешел на TortoiseCVS. Ненарадуюсь.
Всем советую, очень удобно! 

Автор: Nuzur 18.6.2007, 12:04
Возвращаясь к вопросу выбора перешел на SVN (TortoiseSVN в качестве клиента) Переход был вынужденным из-за падения CVS.
ЗЫ Всем удачи!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)