| 
			| 
					
						| Hooter | 
								|  | «  : 06-04-2006 13:09 »  |  | 
 
 Уже несколько раз встречал высказывания, что SVN лучше CVS. Кто-нибудь может объяснить, чем именно? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hoha 
								Гость
 | 
								|  | « Ответ #1 : 06-04-2006 14:17 »  |  | 
 
 http://en.wikipedia.org/wiki/Subversion_(software) - Atomic commits. Interrupted commit operations do not cause repository inconsistency or corruption.- Renamed/copied/removed files retain full revision history.
 - Native support for binary files, with space-efficient binary-diff storage.
 - Directories are versioned. Entire directory trees can be moved around and/or copied very quickly, and retain full revision history.
 - Constant time branching and tagging.
 - Optimized repository accesses. This reduces unnecessary network traffic to the repository host.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hooter | 
								|  | « Ответ #2 : 07-04-2006 04:59 »  |  | 
 
   Спасибо. Тогда вопрос: насколько я знаю, в CVS номер ревизии имеет каждый файл, а в SVN - номер ревизии относится ко всему репозиторию. Так ли это? Для меня это несколько неудобно. Можно ли это отключить в SVN? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hoha 
								Гость
 | 
								|  | « Ответ #3 : 07-04-2006 05:34 »  |  | 
 
 Отключить нельзя, так задумано. Скажи, чем неудобно - наверняка решение есть. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hooter | 
								|  | « Ответ #4 : 07-04-2006 05:53 »  |  | 
 
 Например, структура проекта следующая (проет содержит следующие модули): projectmodule1
 module2
 module4
 module3
 module5
 
Если проект достаточно хорошо спроектирован, то каждый модуль можно использовать отдельно от остальных с какими-то доугими продуктами... При внесении изменений в один из модулей можно изменять версию только одного модуля, а не всего проекта в целом. В SVN номер ревизии меняется у всего проекта. Для меня это неудобно. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hooter | 
								|  | « Ответ #5 : 07-04-2006 06:47 »  |  | 
 
 Еще, например, в CVS есть механизм, который позволяет просмотреть, кто и какие файлы редактирует. В SVN, похоже, такой возможности нет? Видимо, из-за вот этого: - Optimized repository accesses. This reduces unnecessary network traffic to the repository host.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hoha 
								Гость
 | 
								|  | « Ответ #6 : 07-04-2006 08:19 »  |  | 
 
 Если модули начинают повторно использоватся - их стоит вывести из репозитория в отдельный проект.
 Насчет правки файлов не все мне понятно, но видится так:
 
 1) если тебе все равно, что там с файлом, то и смотреть не стоит, правильно?
 2) если изменения в этом файле сильно повлияют на архитектуру системы (интерфейсы библиотек и пр.) - стоит создать временный бранч и вообще это тема для общения с командой.
 3) если ты не уверен, что ваши изменения получится слить, т.е. нужен эксклюзивный доступ - ставишь блокировку. Пока ты ее не снимешь - никто свои изменения закоммитить не сможет. Текущие блокировки по желанию можно посмотреть.
 
 Это все ИМХО, конечно.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Igel | 
								|  | « Ответ #7 : 07-04-2006 17:33 »  |  | 
 
 Еще, например, в CVS есть механизм, который позволяет просмотреть, кто и какие файлы редактирует.
 Что-то не припомню. Откуда сервер знает кто и какие файлы редактирует, когда работа идет с локальной копией? |  
						| 
								|  |  
								|  |  Записан | 
 
 Ёжики, это не только ценные шкурки... |  |  | 
	| 
			| 
					
						| Finch 
								СпокойныйАдминистратор    Offline 
								Пол:    
								Пролетал мимо
								
								
								
								
								
							 | 
								|  | « Ответ #8 : 07-04-2006 18:34 »  |  | 
 
 Igel, Я так думаю, ты не можеш брать на редактирование сразу все файлы. Береш только те, которые разрешены.  И при этом выставляеш статус ToDo файла. |  
						| 
								|  |  
								|  |  Записан | 
 
 Не будите спашяго дракона.              Джаффар (Коша) |  |  | 
	| 
			| 
					
						| Hoha 
								Гость
 | 
								|  | « Ответ #9 : 07-04-2006 18:44 »  |  | 
 
 Igel, думаю, имеется в виду watch с последующими edit-unedit.  |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Igel | 
								|  | « Ответ #10 : 08-04-2006 15:26 »  |  | 
 
 Finch, Hoha, че вы грузите, я и так с трудом разобрался в системе веток, релизов и пр...Но взять все файлы можно в любом случае, скорее всего. По крайней мере заблокировать как-то получение не удалось. Вот когда ложишь, тогда да - могут возникнуть проблемы.
 Вопрос может быть еще в том, что можно посмотреть историю, кто какие версии брал!
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Ёжики, это не только ценные шкурки... |  |  | 
	| 
			| 
					
						| Hooter | 
								|  | « Ответ #11 :  10-04-2006 05:06 »   |  | 
 
 Еще, например, в CVS есть механизм, который позволяет просмотреть, кто и какие файлы редактирует.
 Что-то не припомню. Откуда сервер знает кто и какие файлы редактирует, когда работа идет с локальной копией?Набираешь в консоли cvs editors и получаешь список редактируемых файлов и пользователей, которые эти файлы реадактируют. Чтобы серевер узнал о том, что файлы редактируются, нужно, чтобы пользователь сообщил ему об этом - набрал cvs edit <filename>. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hooter | 
								|  | « Ответ #12 : 10-04-2006 05:10 »  |  | 
 
 Igel, думаю, имеется в виду watch с последующими edit-unedit. 
 Можно watch, а можно на локальной машине пользователя прописать переменную окружения CVSREAD. Смысл тот же, только не надо для каждого модуля запускать cvs watch. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hooter | 
								|  | « Ответ #13 : 10-04-2006 05:43 »  |  | 
 
 Если модули начинают повторно использоватся - их стоит вывести из репозитория в отдельный проект.
 Имхо, есть разница между "один репозиторий для всех проектов" (cvs) и "каждый проект в отдельном репозитории" (svn).Hoha , думаю, что всё дело в привычке (я имею в виду преимущества и недостатки svn и cvs).  Возможно, уже стоит переползать на использование svn... Но пока это еще не очевидно. |  
						| 
								|  |  
								| « Последнее редактирование: 10-04-2006 07:19 от Hooter » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hoha 
								Гость
 | 
								|  | « Ответ #14 : 10-04-2006 08:23 »  |  | 
 
 Конечно, я и не агитирую   . |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Hooter | 
								|  | « Ответ #15 : 10-04-2006 08:51 »  |  | 
 
 Просто я сам для себя еще не могу решить, стОит на svn переходить или нет   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |