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

 
 
> SVN. С чего начинать?, вопрос новичка...
Legotron
сообщение Dec 23 2008, 12:07
Сообщение #1


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

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



Доброго времени суток!

Возник вопрос: "Нужен ли мне контроль версий?" smile.gif

Использую Windows.
Работаю над проектами в основном один, но иногда приходиться совершать действия вроде копирования полных папок с проектами в каталоги названные по датам.. думаю это плохой подход, поскольку постоянно приходится в них копаться и сравнивать исходники.

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

Подскажите мне с чего начать?? самое примитивное, чтобы дальше самому втыкать. читал доку на SVN, но не нашел там никакого quick startа, написано для людей которые ну хоть что-то знают sad.gif

Спасибо!
Go to the top of the page
 
+Quote Post
4 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 45)
ClockworkOrange
сообщение Dec 23 2008, 12:11
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



GUI-клиент под винду: TortoiseSVN ( http://tortoisesvn.tigris.org/ )
книжка: Управление версиями в Subversion ( http://svnbook.red-bean.com/ )
(она не только и не сколько для продвинутых - http://svnbook.red-bean.com/nightly/ru/svn.basic.html )

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


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
bialix
сообщение Dec 23 2008, 12:31
Сообщение #3


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

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



под виндой начните с bzr или hg. пользовать централизованную систему а-ля svn на одном компе -- нецелесообразно.


--------------------
Имей мужество пользоваться своим собственным разумом! (с) И.Кант
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 23 2008, 12:42
Сообщение #4


Гуру
******

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



Если для индивидуального использования, то рекомендую Mercurial. Ведь в случае SVN надо ставить и сервер, и клиент. Конечно, про SVN гораздо больше написано, но про Mercurial тоже можно нарыть.
Ставим TortoiseHg. Вот пара руководств на русском языке. На английском, естественно, этого добра гораздо больше.
Для начала советую не погружаться в "распределённые" дебри, а сконцентрироваться на азах: create repository, add, commit, edit & diff & commit, show history. Кстати, для азов TortoiseHg всё сделает через менюшку, без командной строки. Когда всё это станет до боли знакомым, можно будет посмотреть на clone, branch, merge, push, pull и т.д.
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Dec 23 2008, 12:45
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



>> под виндой начните с bzr или hg. пользовать централизованную систему а-ля svn на одном компе -- нецелесообразно.

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


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
FormatCft
сообщение Dec 23 2008, 13:06
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 331
Регистрация: 22-07-08
Из: Р О С С И Я
Пользователь №: 39 145



Цитата(Legotron @ Dec 23 2008, 17:07) *
не нашел там никакого quick startа
Спасибо!

КвикСтарт
Go to the top of the page
 
+Quote Post
Ivan A-R
сообщение Dec 23 2008, 13:57
Сообщение #7


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

Группа: Участник
Сообщений: 92
Регистрация: 21-06-07
Из: Saint-Petersburg
Пользователь №: 28 607



Цитата(ClockworkOrange @ Dec 23 2008, 15:45) *
использовать децентрализованную (при одном разработчике в проекте) и сырую (bzr) - еще большая глупость


Вполне целесообразно.

Не надо тратить время на поддержку центрального репозитория.

Даже одному разработчику, может возжелаться реализовать альтернативу в коде. Для этого дела делаем копию проекта, спокойно занимаемся фичетворчеством не теряя преимуществ контроля версия (коммиты, диффы и т.д.). Если альтернатива удалась, мержим результат в основнуе репу.

Ну это основные преимущества перед централизованными СКВ с точки зрения одного разработчика.
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Dec 23 2008, 14:19
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



Ivan A-R

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

"время поддержки центрального репозитория" - вот этого я не понимаю.вы что стоите как апполон и руками репозиторий как небесный свод поддерживаете???


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 23 2008, 14:31
Сообщение #9


Гуру
******

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



Цитата(ClockworkOrange @ Dec 23 2008, 17:19) *
"время поддержки центрального репозитория" - вот этого я не понимаю.вы что стоите как апполон и руками репозиторий как небесный свод поддерживаете???

Вы, наверное, удивитесь, но я тоже разделяю мнение Ivan A-R. И вообще, держитесь в конструктивном русле.
Go to the top of the page
 
+Quote Post
spf
сообщение Dec 23 2008, 14:40
Сообщение #10


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

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



Цитата(bialix @ Dec 23 2008, 17:31) *
пользовать централизованную систему а-ля svn на одном компе -- нецелесообразно.

Это из разряда войн религий...



Цитата(scifi @ Dec 23 2008, 17:42) *
Ведь в случае SVN надо ставить и сервер, и клиент.

Сервер ставить совершенно не обязательно. Для создания репозитория достаточно запустить нужную утилиту и можно пользовать его локально.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 23 2008, 14:40
Сообщение #11


Гуру
******

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



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

Конечно. Но это не меняет того факта, что товарищу надо сделать выбор. Может быть, проведём голосование? Тогда победит самая популярная религия :-) Или можно изложить плюсы и минусы, и пусть решает сам.

Цитата(spf @ Dec 23 2008, 17:40) *
Сервер ставить совершенно не обязательно. Для создания репозитория достаточно запустить нужную утилиту и можно пользовать его локально.

Проверил - и правда можно. Век живи - век учись... Тогда меняю религию: советую установить TortoiseSVN :-) Для начинающих это лучше, на мой взгляд.
Go to the top of the page
 
+Quote Post
Legotron
сообщение Dec 23 2008, 14:48
Сообщение #12


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

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



Цитата(FormatCft @ Dec 23 2008, 16:06) *

Простите великодушно, как мне эту ссылку прочитать в человеческом формате?, в браузере открывается с тэгами sad.gif
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Dec 23 2008, 14:50
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



scifi

читайте внимательно топикстартера:
вопрос стоял в том - нужна ли товарищу система контроля версий (о выборе - никто не спрашивал)

это уже потом некоторые деятели влезли сюда с религиозными проповедями..


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
Legotron
сообщение Dec 23 2008, 15:02
Сообщение #14


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

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



Цитата(ClockworkOrange @ Dec 23 2008, 17:50) *
вопрос стоял в том - нужна ли товарищу система контроля версий (о выборе - никто не спрашивал)

Вы правильно говорите, на данный момент я остановился на SVN(личное субъективное мнение новичка) для конкретики..
слышал отзывы, что желательно использовать системы контроля версий даже при работе одному над достаточно сложным и "ветвящимся" проектом, я правильно понимаю??

Сейчас вопрос стоит в постройке данной системы, и ощущение преимуществ на практике... (хоть проект из 1 файла main.c)
а дальше, если эта тема будет приносить мне больше удобств чем заморочек, выберу для себя оптимальный вариант.. smile.gif

Итак.. кто распишет по шагам своими словами какие действия необходимо произвести что-бы ощутить хоть какой-нибудь элементарный результат))

TortiseSVN у меня стоит..
SlickEdit стоит, IAR, на любом примере, только от начала и до конца..

Спасибо!
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Dec 23 2008, 15:10
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



Цитата(Legotron @ Dec 23 2008, 18:02) *
слышал отзывы, что желательно использовать системы контроля версий даже при работе одному над достаточно сложным и "ветвящимся" проектом, я правильно понимаю??

правильно


Цитата(Legotron @ Dec 23 2008, 18:02) *
TortiseSVN у меня стоит..

после изучения "теории" в svnbook, можно переходить непосредственно к практике:
пп. "4.1.2. Creating The Repository With TortoiseSVN" в хелпе к TortoiseSVN


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
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
Legotron
сообщение Jan 29 2009, 08:03
Сообщение #31


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

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



еще 2 вопроса:

7. Как и где в TortoiseSVN поменять автора? стоит admin..
8. Почему я не могу редактировать логи?? (возможно это связано с п.7)

Код
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 29 2009, 10:59
Сообщение #32


Гуру
******

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



Цитата(Legotron @ Jan 29 2009, 10:03) *
8. Почему я не могу редактировать логи?? (возможно это связано с п.7)
В репозитории, в директории hooks лежат шаблоны. Вам надо переимоновать pre-revprop-change.tmpl в pre-revprop-change и поставить ему признак "исполняемый".


--------------------
На любой вопрос даю любой ответ
"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
Legotron
сообщение Jan 29 2009, 13:26
Сообщение #33


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

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



Цитата(Сергей Борщ @ Jan 29 2009, 13:59) *
.. и поставить ему признак "исполняемый".

не понятно как это??

Цитата
On Unix platforms, this means supplying a script or program (which could be a shell script, a Python program, a compiled C binary, or any number of other things) named exactly like the name of the hook. Of course, the template files are present for more than just informational purposes—the easiest way to install a hook on Unix platforms is to simply copy the appropriate template file to a new file that lacks the .tmpl extension, customize the hook's contents, and ensure that the script is executable. Windows, however, uses file extensions to determine whether or not a program is executable, so you would need to supply a program whose basename is the name of the hook, and whose extension is one of the special extensions recognized by Windows for executable programs, such as .exe for programs, and .bat for batch files.

эта выдержка мне тоже непонятна...

Как быть? (разбираться лень, честно smile.gif)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 29 2009, 15:28
Сообщение #34


Гуру
******

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



Цитата(Legotron @ Jan 29 2009, 15:26) *
не понятно как это??
Если вы под виндой - то не обращайте внимания. Она не имеет такого признака. (хотя я никогда не пробовал держать реп на виндовой машине). А под линухами chmod -770 pre-revprop-change


--------------------
На любой вопрос даю любой ответ
"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
Legotron
сообщение Jan 29 2009, 16:02
Сообщение #35


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

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



Цитата(Сергей Борщ @ Jan 29 2009, 18:28) *
Если вы под виндой - то не обращайте внимания.

Забыл сказать, что я под виндой.
Но просто не обращать внимания не получилось sad.gif
просто скопировал файл в той же папке hooks, и убрал .tmpl.. похоже надо что-то еще сделать, в моем предыдущем посте написано что делать, но я не въехал в эту инструкцию, к сожалению пока нет времени((
Go to the top of the page
 
+Quote Post
Shamil
сообщение Jan 29 2009, 16:16
Сообщение #36


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

Группа: Свой
Сообщений: 160
Регистрация: 23-12-04
Из: Уфа
Пользователь №: 1 631



Цитата(Legotron @ Jan 29 2009, 21:02) *
Забыл сказать, что я под виндой.
Но просто не обращать внимания не получилось sad.gif
просто скопировал файл в той же папке hooks, и убрал .tmpl.. похоже надо что-то еще сделать, в моем предыдущем посте написано что делать, но я не въехал в эту инструкцию, к сожалению пока нет времени((

Для сервера под Windows необходимо переименовать файл
pre-revprop-change.tmpl в pre-revprop-change.bat
и удалить из него все строки (т.к. они для Linux-го shell).

После этого у меня наконец то заработало редактирование лога,
а так все руки не доходили с этим разобраться.

Большой a14.gif Сергей Борщ !
Go to the top of the page
 
+Quote Post
spf
сообщение Jan 29 2009, 17:38
Сообщение #37


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

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



Цитата(Shamil @ Jan 29 2009, 21:16) *
После этого у меня наконец то заработало редактирование лога,
а так все руки не доходили с этим разобраться.

Использование этого метода - крайняя мера.
Не стоит брать в привычку рихтовку репозитория, чревато серьёзными последствиями, а вернуть обратно уже ничего не получится.
Данные меняются без возможности отката.
Если хотите себя обезопасить, то надо не пустой скрипт оставлять, а делать что-то типа логера-бэкапа.

PS: Необходимо приучить себя писать сообщения сразу правильно. Не стоит спешить, надо всё проверить и обдумать, только потом выполнять фиксацию. На начальном этапе это может занимать некоторое время, со временем это войдет в привычку и станет получаться значительно быстрее. На исправления и т.п. вещи уйдёт больше времени.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Jan 29 2009, 23:29
Сообщение #38


Знающий
****

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



Цитата(spf @ Jan 29 2009, 20:38) *
Не стоит брать в привычку рихтовку репозитория, чревато серьёзными последствиями, а вернуть обратно уже ничего не получится.
Данные меняются без возможности отката.

Ну и к каким же ужасным последствиям это может привести? Да, изменения свойств ревизии с помощью хука не версифицируются, но это абсолютно нормальный метод. Единственная проблема - возможность случайной потери коммента при неграмотном обращении с репозитарием юзера, которому разрешена запись. Но это уже проблемы организации работы с репозиторием а не стандартного хука.
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jan 30 2009, 08:00
Сообщение #39


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

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



Насчет логов согласен с позицией spf.
Лучше репозиторий не трогать!

А как поменять имя коммитчика?? smile.gif
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Jan 30 2009, 09:44
Сообщение #40


Знающий
****

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



Цитата(Legotron @ Jan 30 2009, 11:00) *
Насчет логов согласен с позицией spf.
Лучше репозиторий не трогать!

вы можете внятно объяснить почему, или это эмоции? хуки они только там и могут лежать. spf говорил о другом - о том, что хук, если он разрешен, должен сохранять историю своих действий.

Цитата(Legotron @ Jan 30 2009, 11:00) *
А как поменять имя коммитчика?? smile.gif

так же как и комментарий =)
Go to the top of the page
 
+Quote Post
Legotron
сообщение Jan 30 2009, 11:19
Сообщение #41


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

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



Цитата(Alex B._ @ Jan 30 2009, 12:44) *
вы можете внятно объяснить почему, или это эмоции?

Нет, не эмоции..
Лучше думать при коммитах и выполнять их не вечером в спешке, а с утра на свежую голову, тщательно просмотрев все изменения диффом, ИМХО smile.gif
Поэтому, опять же ИМХО, лучше перекомитить заново с новым логом, в котором говориться что старый лог неполный или ошибочный, нежели, изменять что-то старое...
Также, если репозиторий используется многими людьми, лучше ничего не менять в истории, даже, если об этом автоматически где-то написать... это мои суждения...

Цитата(Alex B._ @ Jan 30 2009, 12:44) *
так же как и комментарий =)

Опять я неправильно поставил вопрос, и потому потерял время sad.gif
Как задать имя автора перед коммитом? чтобы в логе уже светилось legotron вместо admin smile.gif
Go to the top of the page
 
+Quote Post
spf
сообщение Jan 30 2009, 15:56
Сообщение #42


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

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



Цитата(Legotron @ Jan 30 2009, 16:19) *
Опять я неправильно поставил вопрос, и потому потерял время sad.gif
Как задать имя автора перед коммитом? чтобы в логе уже светилось legotron вместо admin smile.gif


И видимо снова :-). Надо же систему было сказать
А для строки можно прочитать в хелпе

Код
commit (ci): Send changes from your working copy to the repository.
   usage: commit [PATH...]
  
     A log message must be provided, but it can be empty.  If it is not
     given by a --message or --file option, an editor will be started.
     If any targets are (or contain) locked items, those will be
     unlocked after a successful commit.
  
   Valid options:
     -q [--quiet]             : print nothing, or only summary information
     -N [--non-recursive]     : obsolete; try --depth=files or --depth=immediates
     --depth ARG              : limit operation by depth ARG ('empty', 'files',
                               'immediates', or 'infinity')
     --targets ARG            : pass contents of file ARG as additional args
     --no-unlock              : don't unlock the targets
     -m [--message] ARG       : specify log message ARG
     -F [--file] ARG          : read log message from file ARG
     --force-log              : force validity of log message source
     --editor-cmd ARG         : use ARG as external editor
     --encoding ARG           : treat value as being in charset encoding ARG
     --with-revprop ARG       : set revision property ARG in new revision
                                using the name[=value] format
     --changelist ARG         : operate only on members of changelist ARG
                                [aliases: --cl]
     --keep-changelists       : don't delete changelists after commit
  
   Global options:
     --username ARG           : specify a username ARG
     --password ARG           : specify a password ARG
     --no-auth-cache          : do not cache authentication tokens
     --non-interactive        : do no interactive prompting
     --config-dir ARG         : read user configuration files from directory ARG


PS: Для слова "коммит" имеется более понятная и русская замена - фиксация

Цитата(Alex B._ @ Jan 30 2009, 04:29) *
Ну и к каким же ужасным последствиям это может привести?

Мои высказывания касаются плотной групповой работы.
Когда самодеятельность отдельного индивидуума (даже с определенными правами) может парализовать работу группы.
Логи для того и пишут, что бы их читали. Один направит что-то не то или не там. Остальные начнут читать, переспрашивать(что за фигня?!), вспоминать что же было на самом деле...
Зачем это надо?
(ответ известен)
В групповой работе за правки логов надо "бить розгами". К рихтовке должен иметь доступ только админ проекта и опять же пользоваться этим только в случае крайней необходимости.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
uriy
сообщение May 6 2010, 05:36
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Я держу репозиторий дома. Файлы синхронизирую на работе по http. Использую TortoiseSVN. Дома сменился провайдер, следовательно сменился и IP. Чтобы сменить путь к репозиторию насколько я понимаю нужно сделать Relocate или Switch. С некоторыми каталогами все прошло без проблем, а с некоторыми вылазит ошибка (см. картинку) где http://83.xxx.xxx.xxx это мой новый IP. Что за ошибка и как избавиться?
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
scifi
сообщение May 8 2010, 05:50
Сообщение #44


Гуру
******

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



Цитата(uriy @ May 6 2010, 09:36) *
Что за ошибка и как избавиться?

А не проще сделать новый checkout?
Go to the top of the page
 
+Quote Post
uriy
сообщение May 8 2010, 08:28
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата(scifi @ May 8 2010, 09:50) *
А не проще сделать новый checkout?
Вобщем-то так и сделал. Но ведь relocate все-таки для этого случая или нет?
Go to the top of the page
 
+Quote Post
scifi
сообщение May 8 2010, 18:40
Сообщение #46


Гуру
******

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



Цитата(uriy @ May 8 2010, 12:28) *
Вобщем-то так и сделал. Но ведь relocate все-таки для этого случая или нет?

Да. Я им даже пользовался.
Можно, конечно, поразбираться, где именно произошёл сбой, но зачем?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:24
Рейтинг@Mail.ru


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