реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> SVN. С чего начинать?, вопрос новичка...
Legotron
сообщение Dec 23 2008, 16:33
Сообщение #16


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(ClockworkOrange @ Dec 23 2008, 18:10) *
после изучения "теории" в svnbook, можно переходить непосредственно к практике:
пп. "4.1.2. Creating The Repository With TortoiseSVN" в хелпе к TortoiseSVN

сотворил))
что дальше делать?
теперь туда файлы добавляются или проекты целиком?
Go to the top of the page
 
+Quote Post
bialix
сообщение Dec 23 2008, 17:00
Сообщение #17


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-11-04
Из: zp.ua
Пользователь №: 1 046



Цитата(ClockworkOrange @ Dec 23 2008, 14:45) *
>> под виндой начните с bzr или hg. пользовать централизованную систему а-ля svn на одном компе -- нецелесообразно.

использовать децентрализованную (при одном разработчике в проекте) и сырую (bzr) - еще большая глупость


Готовы аргументировано за базар ответить? Т.е. в svn всё, ну просто всё уже не сырое? и даже этот любимый всеми merge?

Цитата(ClockworkOrange @ Dec 23 2008, 16:19) *
Ivan A-R

так а что мешает делать тоже самое в бранче SVN ???? (коммиты, диффы и т.д.).


commit и diff не покажут разницу конечно. merge -- покажет.


Цитата(spf @ Dec 23 2008, 16:40) *
Это из разряда войн религий...


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


Цитата(Legotron @ Dec 23 2008, 17:02) *
Вы правильно говорите, на данный момент я остановился на SVN(личное субъективное мнение новичка) для конкретики..


Это ваш выбор, который я не смею оспаривать. Посему -- умолкаю.


--------------------
Имей мужество пользоваться своим собственным разумом! (с) И.Кант
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Dec 31 2008, 07:53
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Legotron @ Dec 23 2008, 19:02) *
Итак.. кто распишет по шагам своими словами какие действия необходимо произвести что-бы ощутить хоть какой-нибудь элементарный результат))

Вот моя инструкция для студентов для сетевой версии. Очевидные моменты исключаются при работе на одном компьютере. Да, еще логин и пароль нужно прописать в conf (спрашивайте, если непонятно)

Включение нового проекта под систему контроля версий.

1. Создать директорию New_project в главном репозитории (обычно на сервере)
(Может сделать только пользователь, имеющий права на сервере - просить)
2. Выбрать директорию New_project и для нее запустить "Set repository here".
(Может сделать только пользователь, имеющий права на сервере - просить)
3. Открыть в ней дир conf и заменить файл svnserve.conf на хранящийся шаблон файла
в главном репозитории.
(Может сделать только пользователь, имеющий права на сервере - просить)
4. Откорректировать этот файл, указав имя проекта.
(Может сделать только пользователь, имеющий права на сервере - просить)
5. Создать директорию Work_here, где будет рабочий проект, на рабочей станции.
6. Скопировать туда пустую структуру хранящихся файлов \branches \tags \trunk из шаблона
Template в главном репозитории
7. Импортировать эту структуру в репозиторий import svn://server/new_project
8. Удалить все из Work_here и записать туда только те файлы, которые подлежать контролю версий.
9. Импортировать эти файлы в раздел trunk - import svn://server/new_project/trunk
10. Удалить все файлы из work_here и сделать checkout - файлы будут считаны из репозитория.
11. Убедиться, что файлы правильные - можно начинать работу.

12. После корректировки файлов выполнить commit и обязательно указать смысл изменений

Создание новой рабочей копии.
1. Создать новый каталог.
2. Выполнить checkout


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jan 2 2009, 02:15
Сообщение #19


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(Dog Pawlowa @ Dec 31 2008, 10:53) *

3. Открыть в ней дир conf и заменить файл svnserve.conf на хранящийся шаблон файла
в главном репозитории.
(Может сделать только пользователь, имеющий права на сервере - просить)
4. Откорректировать этот файл, указав имя проекта.
(Может сделать только пользователь, имеющий права на сервере - просить)

Для чего служат эти процедуры??
В описании к TortoiseSVN п. 4.1.2. предупреждается:
Цитата
A repository is then created inside the new folder. Don't edit those files yourself!!!.
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jan 17 2009, 12:18
Сообщение #20


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Продолжаю осваивать SVN, весьма проникся контролем версий, теперь заставляю себя поддерживать порядок! smile.gif

Использую TortiseSVN.
По ходу работы у меня возникли следующие вопросы:

1. Когда вы оставляете комменты при commit-e, вы используете какую-нибудь четкую структуру записи?? или просто оставляете пометки?? Вообщем интересует структура этих заметок..
2. Возникло желание сделать TODO-лист... возможно ли сделать примерно следующее?: я пишу что мне нужно сделать, потом отмечаю что сделано, пишу к этому комментарии, как можно сделать такое в связке с SVN?
3. Что такое Bug/Issue tracker? Удобно ли этим пользоваться для самого себя в связке с SVN? Какие из них наиболее удобны?
4. Можно ли автоматизировать процесс создания репозитория, создание его структуры, добавления в него новых проектов, и.т.д... с соответствующими комментами, вообщем рутиные процессы? Как это сделать?, придайте мне направлениеsmile.gif
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Jan 17 2009, 21:19
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



Цитата(Legotron @ Jan 17 2009, 15:18) *
1. Когда вы оставляете комменты при commit-e, вы используете какую-нибудь четкую структуру записи?? или просто оставляете пометки?? Вообщем интересует структура этих заметок..

Да какую придумаете, такая и будет. Совет - не коммитить весь проект целиком. Например, у вас есть само приложение и библиотека обслуживания ЖКИ (хотя наилучший вариант, когда такая библиотека используется как externals). Изменили там, изменили тут - комитте отдельно, пишите отдельные комментарии - будет проще разобраться, если что.
Ну вот у меня например в начале строки комментария [+++] если что-то добавил и [%%%] если что-то изменил. Иногда [***] при каких-нить других ситуациях.

Цитата(Legotron @ Jan 17 2009, 15:18) *
2. Возникло желание сделать TODO-лист... возможно ли сделать примерно следующее?: я пишу что мне нужно сделать, потом отмечаю что сделано, пишу к этому комментарии, как можно сделать такое в связке с SVN?

Не совсем понятно, что вы хотите от SVN

Цитата(Legotron @ Jan 17 2009, 15:18) *
3. Что такое Bug/Issue tracker? Удобно ли этим пользоваться для самого себя в связке с SVN? Какие из них наиболее удобны?

Для самого себя - не знаю. В группе удобно. И не обязательно над проектом должно работать несколько человек. Issue tracker может использовать, например, как простейший шедуллер и генератор отчетов для руководства. Из наиболее известных - Trac, мы пользуемтся Redmine - там еще много чего есть кроме баг-трекинга по умолчанию, а в траке надо напрягать админа всякими плагинами, созданием нового проекта и пр.
http://www.mysvn.ru/ - тут можно на 10 МБ бесплатном аккуанте посмотреть, что такое Trac.

Цитата(Legotron @ Jan 17 2009, 15:18) *
4. Можно ли автоматизировать процесс создания репозитория, создание его структуры, добавления в него новых проектов, и.т.д... с соответствующими комментами, вообщем рутиные процессы? Как это сделать?, придайте мне направлениеsmile.gif

Я вообще не понимаю проблемы. Создаете папку, внутри структура папок проекта (можно сделать потом), тыкаетесь, в тортиле выбираете Import и указываете путь хранилищу + папка для проекта в этом хранилище. Все. Никаких шаманских действий, которые описал Dog Pawlowa не нужно (во всяком случае, если работаете с тортилой и под виндой).
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jan 20 2009, 11:34
Сообщение #22


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(Alex B._ @ Jan 18 2009, 00:19) *
Цитата(Legotron @ Jan 17 2009, 15:18) *

1. Когда вы оставляете комменты при commit-e, вы используете какую-нибудь четкую структуру записи?? или просто оставляете пометки?? Вообщем интересует структура этих заметок..

Да какую придумаете, такая и будет. Совет - не коммитить весь проект целиком. Например, у вас есть само приложение и библиотека обслуживания ЖКИ (хотя наилучший вариант, когда такая библиотека используется как externals).

Насчет коммита целиком: это конечно правильно, но..
1. это вынудит делать их очень часто и отвлекаться от работы...
2. а если что-нибудь забудешь? (постоянно сверять с HEAD?)

Цитата(Alex B._ @ Jan 18 2009, 00:19) *
Цитата(Legotron @ Jan 17 2009, 15:18) *

2. Возникло желание сделать TODO-лист... возможно ли сделать примерно следующее?: я пишу что мне нужно сделать, потом отмечаю что сделано, пишу к этому комментарии, как можно сделать такое в связке с SVN?

Не совсем понятно, что вы хотите от SVN

Автоматическое добавления в файл этой информации...

Цитата(Alex B._ @ Jan 18 2009, 00:19) *
Цитата(Legotron @ Jan 17 2009, 15:18) *

3. Что такое Bug/Issue tracker? Удобно ли этим пользоваться для самого себя в связке с SVN? Какие из них наиболее удобны?

Для самого себя - не знаю. В группе удобно. И не обязательно над проектом должно работать несколько человек. Issue tracker может использовать, например, как простейший шедуллер и генератор отчетов для руководства. Из наиболее известных - Trac, мы пользуемтся Redmine - там еще много чего есть кроме баг-трекинга по умолчанию, а в траке надо напрягать админа всякими плагинами, созданием нового проекта и пр.
http://www.mysvn.ru/ - тут можно на 10 МБ бесплатном аккуанте посмотреть, что такое Trac.

Спасибо за ссылку smile.gif
Чувствую что это отдельная тема, в которой сначала нужно внимательно разобраться, и задавать вопросы в отдельной ветке...

Цитата(Alex B._ @ Jan 18 2009, 00:19) *
Цитата(Legotron @ Jan 17 2009, 15:18) *

4. Можно ли автоматизировать процесс создания репозитория, создание его структуры, добавления в него новых проектов, и.т.д... с соответствующими комментами, вообщем рутиные процессы? Как это сделать?, придайте мне направление smile.gif

Я вообще не понимаю проблемы. Создаете папку, внутри структура папок проекта (можно сделать потом), тыкаетесь, в тортиле выбираете Import и указываете путь хранилищу + папка для проекта в этом хранилище. Все. Никаких шаманских действий, которые описал Dog Pawlowa не нужно (во всяком случае, если работаете с тортилой и под виндой).

я скажу "как я хочу", и тогда ИМХО сразу станет понятно в чем проблема smile.gif
Хочу чтобы одним действием после создания проекта:
1. создался под него репозиторий
2. создались все необходимые "веточки" в нем
3. проект добавился в /trunk
4. и у меня оказалась рабочая копия с "зеленой галочкой" smile.gif

Еще вопросы:
5. Использую svn:keywords... Добавляю properties ко всему проекту с включенной галочкой "Apply prop. recursively"...Часто добавляю новые файлы в проект... и они оказываются без "svn:keywords"((
Как сделать, чтобы нужные мне "свойства" добавлялись к свежедобавленным файлам?? Использовать хуки? Писать .bat файлы?
6. Какое преимущество можно получить в SVN за счет, присвоения новых номеров ревизий только реально изменившимся файлам?

P.S. Я использую тортиллу, мне она вполне нравиться, но иногда чувствуется, что я делаю очень много лишних кликов sad.gif
Хотелось бы посмотреть на хорошую(образцовую) организацию всего SVN-хозяйства..
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Jan 20 2009, 21:02
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



Цитата(Legotron @ Jan 20 2009, 14:34) *
Насчет коммита целиком: это конечно правильно, но..
1. это вынудит делать их очень часто и отвлекаться от работы...
2. а если что-нибудь забудешь? (постоянно сверять с HEAD?)

1) почему? я не чаще раза в день коммит делаю. Я не к тому, что изменил/закоммитил, а к тому, что логически разные части проекта должны быть отдельно закомитчены.
2) TortoiseSVN - замечательная напоминалка. Может у вас оверлейные значки на иконках выключены в системе?

Цитата(Legotron @ Jan 20 2009, 14:34) *
Автоматическое добавления в файл этой информации...

все равно не понял. Вы хотите календарный план проекта совместить с SVN? зачем?


Цитата(Legotron @ Jan 20 2009, 14:34) *
я скажу "как я хочу", и тогда ИМХО сразу станет понятно в чем проблема smile.gif
Хочу чтобы одним действием после создания проекта:
1. создался под него репозиторий

У меня всегда был один репозиторий. Зачем вам под каждый проект разные? достаточно разделять на уровне папок. А все остальное Import делает.

Цитата(Legotron @ Jan 20 2009, 14:34) *
Использую svn:keywords... Добавляю properties ко всему проекту с включенной галочкой "Apply prop. recursively"...Часто добавляю новые файлы в проект... и они оказываются без "svn:keywords"(( Как сделать, чтобы нужные мне "свойства" добавлялись к свежедобавленным файлам?? Использовать хуки? Писать .bat файлы?

никогда этим не озадачивался. Я использую только extenals и ignore, больше по-моему ничего не надо. Если не секрет - зачем?

Цитата(Legotron @ Jan 20 2009, 14:34) *
Какое преимущество можно получить в SVN за счет, присвоения новых номеров ревизий только реально изменившимся файлам?

хм, а разве можно как-то по другому?
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jan 21 2009, 07:39
Сообщение #24


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(Alex B._ @ Jan 21 2009, 00:02) *
1) почему? я не чаще раза в день коммит делаю. Я не к тому, что изменил/закоммитил, а к тому, что логически разные части проекта должны быть отдельно закомитчены.

Т.е. вы, к примеру, производите коммит раз в день, но при этом производя множество последовательный коммитов отдельных частей?? Правильно понимаю?

Цитата(Alex B._ @ Jan 21 2009, 00:02) *
2) TortoiseSVN - замечательная напоминалка. Может у вас оверлейные значки на иконках выключены в системе?

Нет, значки включены, даже в тотал-командер встроил, но мне удобнее смотреть изменения через log..

Цитата(Alex B._ @ Jan 21 2009, 00:02) *
все равно не понял. Вы хотите календарный план проекта совместить с SVN? зачем?

Ну хотелось бы где-нибудь писать что нужно сделать, потом отмечать что это сделал, при этом помечая(автоматом) в какой ревизии это реализовано.. потом можно было бы сделать файл, где в какой ревизии что исправлено.. ну как-то завести "единое окошко" проблем и результатов их устранения(с авто-привязкой к номеру ревизии).. и еще бы неплохо сразу tag при этом делать.. чтобы номер tag-a (release-1.2.3) тоже бы в файл вносился..
что-то типа такого, чтобы автоматом генерилось:
Код
     Version history
     ---------------
    
     1.70 (28.04.1999)
       New methods: SetDTR, SetRTS, SetBreak, SetXonXoff
       Properties can be changed during a session
    
     1.60 (10.04.1999)
       New properties: EventChar, DiscardNull, SyncMethod
       Extended Parity property
       Fixed compilation problems
       Other bug fixes
    
     1.50 (13.03.1999)
       Read/Write operations in asynchronous/synchronous mode
       Added OnRx80Full event
       Extended flow control
       Added Timeouts property
    
     1.01 (24.10.1998)
       Added more signal detection functions.
       Added this documentation.
       Added PurgeOut function.
       Fixed some minor bugs.
    
     1.00 (29.09.1998)
       Basic version of the component


Цитата(Alex B._ @ Jan 21 2009, 00:02) *
У меня всегда был один репозиторий. Зачем вам под каждый проект разные? достаточно разделять на уровне папок. А все остальное Import делает.

А если он накроется? smile.gif
И у вас все логи перемешаны для разных проектов??? Или SVN их для папок сам сортирует, только ревизии с "дырками получаются"?

Цитата(Alex B._ @ Jan 21 2009, 00:02) *
никогда этим не озадачивался. Я использую только extenals и ignore, больше по-моему ничего не надо. Если не секрет - зачем?

В файле повесил $Id$, понятно кем, когда, в какой ревизии был закомитчен.. ИМХО удобно, если проект выйдет из под SVN-контроля (Export...) останутся привязки в файлах..
Кстати, удобно было бы чтобы в файл автоматом прописывались пофиксченные баги... но, этим, я думаю уже не SVN должен заниматься, у SVN keywords-ов пальцев одной руки хватит чтобы пересчитать))

Цитата(Alex B._ @ Jan 21 2009, 00:02) *
хм, а разве можно как-то по другому?

я некомпетентен в этом вопросе))
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 21 2009, 12:47
Сообщение #25


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Legotron @ Jan 20 2009, 13:34) *
6. Какое преимущество можно получить в SVN за счет, присвоения новых номеров ревизий только реально изменившимся файлам?
Просматривая svn log этого файла вы видите, в каких именно правках этот файл реально изменялся. Аналогично, просматривая svn log для папки, вы видите те и только те правки, в которых менялись файлы в этой папке.

Цитата(Legotron @ Jan 21 2009, 09:39) *
Ну хотелось бы где-нибудь писать что нужно сделать, потом отмечать что это сделал, при этом помечая(автоматом) в какой ревизии это реализовано..
Это вам нужно что-то вроде Trac. spf прикрутил автоматическое формирование файла-отчета об изменениях из лог-сообщений фиксации для scmRTOS. Как он это сделал - я не в курсе. Пишите подробное лог-сообщение при фиксации изменений, это очень полезно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Jan 21 2009, 21:26
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



Цитата(Legotron @ Jan 21 2009, 10:39) *
Т.е. вы, к примеру, производите коммит раз в день, но при этом производя множество последовательный коммитов отдельных частей?? Правильно понимаю?

суть поняли правильно.

Цитата(Legotron @ Jan 21 2009, 10:39) *
Нет, значки включены, даже в тотал-командер встроил, но мне удобнее смотреть изменения через log..

дык и смотрите через лог. Это к тому, что можно "что-нибудь забыть"

Цитата(Legotron @ Jan 21 2009, 10:39) *
Ну хотелось бы где-нибудь писать что нужно сделать, потом отмечать что это сделал, при этом помечая(автоматом) в какой ревизии это реализовано..

Trac, Redmine. В общем, баг трекер вам наверное поможет.

Цитата(Legotron @ Jan 21 2009, 10:39) *
А если он накроется? smile.gif

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

Цитата(Legotron @ Jan 21 2009, 10:39) *
И у вас все логи перемешаны для разных проектов??? Или SVN их для папок сам сортирует, только ревизии с "дырками получаются"?

Сам сортирует. Вы можете посмотреть историю ревизий только для одного файла и увидите только его ревизии.
Go to the top of the page
 
+Quote Post
spf
сообщение Jan 22 2009, 14:04
Сообщение #27


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(Сергей Борщ @ Jan 21 2009, 17:47) *
Это вам нужно что-то вроде Trac.

Для простоты установки можно попробоватьRedmine или Mantis

Цитата
spf прикрутил автоматическое формирование файла-отчета об изменениях из лог-сообщений фиксации для scmRTOS. Как он это сделал - я не в курсе.

Все примитивно просто - для этого используется готовый скрипт scn2cl


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jan 28 2009, 12:50
Сообщение #28


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Подскажите пожалуйста, нужно ли включать в коммиты файлы типов:
*.exe, *.hex, *.elf и.т.д

Аргументы "против":
- Они постоянно меняются при компиляции, и мешаются при коммитах
Аргументы "За":
- сохраняется срез полностью готового проекта, не нужно ничего дополнительно компилить..

У кого что в игнорах?
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 28 2009, 14:17
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Legotron @ Jan 28 2009, 15:50) *
Подскажите пожалуйста, нужно ли включать в коммиты файлы типов:
*.exe, *.hex, *.elf и.т.д

Так и религиозную войну недолго начать :-) Тем не менее, мои 5 копеек:
Я храню только исходники (включая настройки тулзов для сборки). Считаю, что прошивке не место рядом с ними. Аргументы:
1) Если это не релиз, то толку от двоичного файла мало: всё равно продолжается разработка и тулзы под рукой, так что собрать образ заново легко.
2) Если это релиз, то файл прошивки по-хорошему надо хранить вместе с внутренней документацией на изделие, в которое залита эта прошивка.
Go to the top of the page
 
+Quote Post
SFx
сообщение Jan 28 2009, 16:50
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



но если совсем хочется хранить .elf и другие файлы - то лучше создать скрипты, которые будут автоматом их переносить в Release репозиторий.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th July 2025 - 23:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01558 секунд с 7
ELECTRONIX ©2004-2016