Аннотация :
Управление исходными текстами является маленькой частью большой и сложной науки управления созданием программного обеспечения. Тем не менее, это одна из важнейших частей с точки зрения автоматизации, поскольку маленький и, в общем, несложный механизм обеспечивает информацией множество других частей общего бизнес-процесса. Управление исходными текстами имеет несколько аспектов: управление версиями, автоматическая генерация документации, поддержка единого стиля кода и контролируемые изменения. Постепенно мы раскроем все эти темы, но начнём, пожалуй, с наиболее востребованной части – управлением версиями.
Здравствуйте, orangy, Вы писали:
O>Статья : O>Управление исходными текстами
что-то я по-первости не въеду в следующую вещи —
a) CVS не работает с не-текстовыми файлами? Т.е. можно ли контролировать например картинку, которая входит в ресурсы проекта, иметь возможность откатить ее версию?
б) примерчик с каталогом в котором пара текстовых файлах расписан доходчиво а как правильно добавлять в CVS каталог с проектом, где надо контролировать не все файлы, например без тех же бинарников?
Еще одна непонятка связана с WinCVS — при запуске просит Python 2.1 или новее, ладно, поставил Python 2.3, а оно все равно говорит — поставь 2.1 или новее
Здравствуйте, Odi$$ey, Вы писали:
OE>a) CVS не работает с не-текстовыми файлами? Т.е. можно ли контролировать например картинку, которая входит в ресурсы проекта, иметь возможность откатить ее версию?
Работает, только всегда сохраняет полную копию редакции файла, и не умеет их мерджить. Что вобщем-то, логично. Чтобы добавить бинарный файлв в CVS нужно перед его именем поставить "-kb". Или нажать кнопку Add binary в WinCVS.
OE>б) примерчик с каталогом в котором пара текстовых файлах расписан доходчиво а как правильно добавлять в CVS каталог с проектом, где надо контролировать не все файлы, например без тех же бинарников?
Можно делать по разному, например по маске, но опыт показывает, что удобнее подготовить отдельную копию проекта, в котором будут только файлы, подлежащие контролю версий, а затем импортировать поддерево целиком.
OE>Еще одна непонятка связана с WinCVS — при запуске просит Python 2.1 или новее, ладно, поставил Python 2.3, а оно все равно говорит — поставь 2.1 или новее
Это для скриптов, если ты собираешься использовать WinCVS по-простому, просто игонрируй это сообщение в output window. Я всё делаю из командной строки, так что здесь тебе не подскажу.
[RSDN@Home 1.1 beta 2] Сейчас 21:17, слушаю тишину
Я взял из репозитария файл "предыдущей" редакции, по номеру версии (1.4), исправил и теперь не могу отправить назад в репозитарий, WinCVS пишет
cvs commit: sticky tag `1.4' for file `filename.cpp' is not a branch
cvs [commit aborted]: correct above errors first!
в статье есть пара слов про то, как в подобном случае взять последнюю версию из репозитария, а вот как наоборот, мою копию в репозитарий положить :???:
Здравствуйте, S-SH, Вы писали:
>> Я взял из репозитария файл "предыдущей" редакции, >> исправил и теперь не могу отправить назад в репозитарий
SS>Полагаю, надо сохранить у себя исправленную, check-out SS>последнюю, заменить на исправленную и сделать check-in.
да, меня orangy уже по аське проконсультировал, только так и получилось
А можно ли указать при check-out рабочего каталога что мне нужны и еще какие то связанные библиотеки? То есть, я забираю только рабочий каталог, а cvs (читая свои конфиги или мои ) следом мне еще добрасывает и все библиотеки которые я указал?
Здравствуйте, ironwit, Вы писали:
I>А можно ли указать при check-out рабочего каталога что мне нужны и еще какие то связанные библиотеки? То есть, я забираю только рабочий каталог, а cvs (читая свои конфиги или мои ) следом мне еще добрасывает и все библиотеки которые я указал?
Здравствуйте, Dimentiy, Вы писали:
D>Здравствуйте, ironwit, Вы писали:
I>>А можно ли указать при check-out рабочего каталога что мне нужны и еще какие то связанные библиотеки? То есть, я забираю только рабочий каталог, а cvs (читая свои конфиги или мои ) следом мне еще добрасывает и все библиотеки которые я указал?
D>Нет. А ещё CVS не умеет гопака плясать
ха-ха. Имелось в виду, можно ли CVS указать явно, что если я обновляю определенный рабочий каталог, то следом мне нужно отдать еще несколько рабочих каталогв?
Здравствуйте, ironwit, Вы писали:
I>ха-ха. Имелось в виду, можно ли CVS указать явно, что если я обновляю определенный рабочий каталог, то следом мне нужно отдать еще несколько рабочих каталогв?
Не смешно
Имелось в виду, что CVS не может и не должен знать, какие там зависимости. Почему не написать скриптик, который будет чекаутить проект[ы], копировать библиотеки, собирать автоматом софт и после этого форматировать винчестер — в одном флаконе?
У меня например по расписанию раз в два дня компьютер созванивается с провайдером, апдейтит рабочую копию и вешает трубку. Обычный bat-файл, несколько строчек. А в системе управления версиями это не нужно.
Здравствуйте, Dimentiy, Вы писали:
I>>А можно ли указать при check-out рабочего каталога что мне нужны и еще какие то связанные библиотеки? То есть, я забираю только рабочий каталог, а cvs (читая свои конфиги или мои ) следом мне еще добрасывает и все библиотеки которые я указал?
D>Нет. А ещё CVS не умеет гопака плясать
Не скажите, батенька, можно научить Там есть такой файлик modules в CVSROOT, так там можно делать алиас-модули, состоящие из ссылок на несколько других модулей. Подробнее читайте Седерквиста.
Здравствуйте, orangy, Вы писали:
O>Здравствуйте, Dimentiy, Вы писали:
I>>>А можно ли указать при check-out рабочего каталога что мне нужны и еще какие то связанные библиотеки? То есть, я забираю только рабочий каталог, а cvs (читая свои конфиги или мои ) следом мне еще добрасывает и все библиотеки которые я указал?
D>>Нет. А ещё CVS не умеет гопака плясать O>Не скажите, батенька, можно научить Там есть такой файлик modules в CVSROOT, так там можно делать алиас-модули, состоящие из ссылок на несколько других модулей. Подробнее читайте Седерквиста.
Здравствуйте, ironwit, Вы писали:
D>>>Нет. А ещё CVS не умеет гопака плясать O>>Не скажите, батенька, можно научить Там есть такой файлик modules в CVSROOT, так там можно делать алиас-модули, состоящие из ссылок на несколько других модулей. Подробнее читайте Седерквиста.
Ну, это всё-таки не общий случай )) Хотя anyway посыпаю голову пеплом.
I>P.S. а кто такой Седерквист?
Здравствуйте, Dimentiy, Вы писали:
D>Здравствуйте, ironwit, Вы писали:
D>У меня например по расписанию раз в два дня компьютер созванивается с провайдером, апдейтит рабочую копию и вешает трубку. Обычный bat-файл, несколько строчек. А в системе управления версиями это не нужно.
Послушай, а ты не можешь предоставить батник который делает следующее с CVS:
— выполняет обновление проекта
— затем добавлет ные файлы в CVS
— затем выполняет комит всему проекту
— затем ставит метку на проект
у меня затык с тем что бы определить только что добавленные файлы в проект и как определить какие файлы надо комитить
Здравствуйте, orangy, Вы писали:
O>...Я всё делаю из командной строки, так что здесь тебе не подскажу.
Mozhno li s kommandnoi stroki skachat' versiju cherez pserver?
U menja eto poka ne poluchalos'
Здравствуйте, raskolnikov, Вы писали:
R>Здравствуйте, orangy, Вы писали:
O>>...Я всё делаю из командной строки, так что здесь тебе не подскажу. R>Mozhno li s kommandnoi stroki skachat' versiju cherez pserver? R>U menja eto poka ne poluchalos'
Вообще говоря, WinCVS в конечном итоге запускает cvs.exe с какими-то параметрами, так что из командной строки можно сделать всё.
Понятия "скачать версию" в CVS нет, ты имеешь ввиду checkout или update?
pserver ничем не отличается от других протоколов с точки зрения командной строки, всё определяет CVSROOT. Возможно, нужно просто залогиниться или правильно составить CVSROOT для анонимного пользователя.
Например, чтобы получить из репозитория RFD можно сделать так:
cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/rsdn-data co Rsdn.Framework.Data
Тут недоразумение было. В c:/winnt
лежала старая версия cvs не поддерживающая pserver-протокол.
Я пытался стартануть cvs.exe в
WinCvs папке, а неявно вызывалась c:/winnt/cvs.exe, которая говорила:
:pserver: access method not supported
Вот я и думал что pserver-соединение реализует WinCvs.
С уважением,
Валентин
Здравствуйте, orangy, Вы писали:
O>Здравствуйте, raskolnikov, Вы писали:
R>>Здравствуйте, orangy, Вы писали:
O>>>...Я всё делаю из командной строки, так что здесь тебе не подскажу. R>>Mozhno li s kommandnoi stroki skachat' versiju cherez pserver? R>>U menja eto poka ne poluchalos' O>Вообще говоря, WinCVS в конечном итоге запускает cvs.exe с какими-то параметрами, так что из командной строки можно сделать всё.
Здравствуйте, orangy, Вы писали:
O>Постепенно мы раскроем все эти темы, но начнём, пожалуй, с наиболее востребованной части – управлением версиями.
Как то давно снес и winCVS и TortoiseCVS потому что непонял хитростей помню, что кто-то из них даже ронял мне проводник с которым сильно тесно интегрировался но дело было давно
Честно говоря с тех пор, не углублялся в руководство по пользованию CVS, но хочется выяснить один момент от практиков — возможно ли при отслеживании и получении рабочих копий файлов разкладывать их по другому, т.е. в "по-своему вкусу" настроенную стуктуру подкаталогов, отличную от структуры подкаталогов центрального репозитория? Это возможно?
Hello, mister-AK!
You wrote on Wed, 11 Aug 2004 11:20:38 GMT:
O>> Постепенно мы раскроем все эти темы, но начнём, пожалуй, с наиболее O>> востребованной части – управлением версиями.
при определенной сноровке такое возможно в Subversion
Здравствуйте, orangy, Вы писали:
O>Аннотация : O>Управление исходными текстами является маленькой частью большой и сложной науки управления созданием программного обеспечения. Постепенно мы раскроем все эти темы, но начнём, пожалуй, с наиболее востребованной части – управлением версиями.
Здравствуйте. можете дать пример того как одним батником выполнить следующие действия:
— Update
— Add contents
— Commit
— Tag vx.y.z.k, where x, y,z,k — variables
or
— Add contents
— Commit
— Tag vx.y.z.k, where x, y,z,k — variables