Программы >> Разные >> [ template | cvswork | img2djvu Окт, 7 | lcp | longlcp | lar | histogram | maxlcp | pdftodjvu Сент, 25 | polygon | ppmcluster ]

Программа cvswork версия 3.3.0

Программа cvswork версия 3.3.0

Дмитрий Хмелёв

Проект начат 2003-08-27; Последние изменения 2003-10-21

1  Загрузка
2  Файл readme.koi
3  Использование и сводка опций
4  Развитие программы
5  Лицензия

1  Загрузка

Исходники: src/cvswork-3.3.0.tgz [20 Кб ]

2  Файл readme.koi

cvswork.pl --- экспорт проектов из CVS


ПОДДЕРЖИВАЕМЫЕ ОКРУЖЕНИЯ

http://www.gnu.org    GNU/Linux 
см. также http://www.gnu.org/gnu/linux-and-gnu.html

УСТАНОВКА

Установите следующие программы:

* CVS        http://www.cvshome.org/

* Perl 5.8   http://www.perl.org/

Скопируйте cvswork.pl в директорию, находящуюся в одной из директорий,
перечисленных в системной переменной $PATH


КРАТКАЯ ИНСТРУКЦИЯ

Чтобы проэкпортировать проект, наберите
  cvswork.pl projectname


БОЛЕЕ ПОДРОБНАЯ ИНСТРУКЦИЯ

Что такое CVS --- читайте по адресу http://www.cvshome.org/

Чтобы использовать cvswork.pl надо проделать следующие действия:


1. СОЗДАТЬ РЕПОЗИТОРИЙ (ДИРЕКТОРИЮ С ИСТОРИЕЙ ВСЕХ МОДИФИКАЦИЙ) 
ДЛЯ ПРОЕКТОВ

cvs -d $HOME/cvsroot init

Я создаю репозиторий в домашней директории в поддиректории cvsroot и
придерживаюсь этого соглашения до конца инструкции. Вы можете его
создавать и в каком-нибудь другом удобном месте)


2. ДЛЯ КОРРЕКТНОЙ ОБРАБОТКИ БИНАРНЫХ ФАЙЛОВ ОТРЕДАКТИРОВАТЬ ФАЙЛ
cvswrappers, в проекте CVSROOT:

cvs -d $HOME/cvsroot checkout CVSROOT
xemacs CVSROOT/cvswrappers
cvs -d $HOME/cvsroot commit -m "Added binary file types in cvswrappers" CVSROOT/cvswrappers
cvs -d $HOME/cvsroot release -d CVSROOT

В сеансе редактирования xemacs в хвост файла cvswrappers стоит
добавить следующие строки (они имеются в моём файле):

*.gif -k 'b'
*.jpg -k 'b'
*.png -k 'b'
*.bin -k 'b'
*.ary -k 'b'
*.exe -k 'b'
*.xcf -k 'b'
*.zip -k 'b'
*.tar -k 'b'
*.gz  -k 'b'
*.jar -k 'b'
*.3ds -k 'b'
*.pdf -k 'b'
*.ps -k 'b'
*.gz -k 'b'
*.model -k 'b'
*.markup -k 'b'
*.filter -k 'b'

<конец пункта 2>


3. ЗАГРУЗИТЕ И ИСПОЛЬЗУЙТЕ ПРОГРАММУ template 
В КАЧЕСТВЕ ШАБЛОНА ВАШЕЙ ПРОГРАММЫ:

http://www.math.toronto.edu/dkhmelev/PROGS/misc/template-rus.html


4. ПОЛУЧЕННУЮ ПЕРВУЮ РАБОЧУЮ КОПИЮ ПРОГРАММЫ ЗАГРУЗИТЕ В РЕПОЗИТОРИЙ:

cd $HOME/project_name
cvs -d $HOME/cvsroot import RDIRECTORY VENDOR RELEASE

где

RDIRECTORY 

Новая поддиректория $HOME/cvsroot, которая будет содержать файлы
текущей директории. Например, в качестве RDIRECTORY можно использовать
имя проекта project_name (к сожалению, необходимо ограничиться
английскими буквами). Теперь RDIRECTORY будет именем Вашего проекта
(модуля).

$HOME/project_name
Директория, содержащая файлы проекта.

VENDOR
Создатель проекта. Я пишу Dima_Khmelev.

RELEASE
Я всегда пишу initial_release.


5. УДАЛИТЕ ДИРЕКТОРИЮ project_name 
(менее радикально --- переименуйте её в project_name.old):

rm -rf $HOME/project_name
или
mv $HOME/project_name $HOME/project_name.old


6. СОЗДАЙТЕ РАБОЧУЮ КОПИЮ ПРОГРАММЫ НА ДИСКЕ:

cvs -d $HOME/cvsroot checkout MODULE

MODULE
Название проекта/программы/модуля. То, что было RDIRECTORY в пункте 4.
Рабочая копия будет создана в поддиректории MODULE. Пожалуйста,
ограничьтесь созданием только *одной* рабочей копии. Иначе будут
происходить трудно объяснимые глюки.

Создавать рабочую копию можно в любой поддиректории. Я по умолчанию
предполагаю, что эта директория --- домашняя. 


7а. ЕЖЕДНЕВНАЯ РАБОТА С ИСХОДНИКАМИ 

Все нижеприведённые команды необходимо набирать находясь в
поддиректории MODULE с именем редактируемого проекта/программы.

# перейти в директорию с программой
cd $HOME/MODULE

# Добавить файл

cvs add textfile.c
cvs add -kb binaryfile.foo

где
binaryfile.foo 	бинарный файл, но расширение .foo отсутствует в файле
cvswrappers (см. пункт 1)

# Удалить файл (изменения произойдут после того, как будут
# синхронизированы [commit] с репозиторием).  Причём опция -f
# удаляет файл с диска. Иначе надо значала удалить файл, и лишь затем
# набрать "cvs remove file"

cvs remove -f file.ext

# Сравнить рабочую копию с тем, что находится в репозитории

cvs -n update

# Синхронизовать рабочую копию с репозиторием
cvs commit


7б. ИСПОЛЬЗУЙТЕ PCL-CVS

Я привык пользоваться (и вам советую) пакетом PCL-CVS в
(X)Emacs. Наберите

info PCL-CVS

чтобы проверить наличие пакета и прочитайте инструкцию. 



8. НАЗНАЧЕНИЕ МЕТОК ДЛЯ РАЗНЫХ ВЕРСИЙ КОДА

Метки очень удобны. Они позволяют пометить весь имеющийся код номером
версии. Формат версий, принятый в cvswork.pl таков: vNN_MM_LL, где 
NN, MM, LL --- некоторые числа. Т.е. версия состоит из трёх компонент

NN
основная версия (изменяется при внесении очень существенных
изменений в программе, например, смене алгоритма)

MM
подверсия (изменяется при наличии изменений в общении с пользователем). 

LL
изменения чисто косметические, либо исправляют мелкую ошибку, не
изменяя функциональности программы)

Я стараюсь пользоваться приведёнными выше соглашениями при назначении
коду версий. 

# перейти в директорию с программой
cd $HOME/MODULE

# назначить версию
cvs tag -R v0_0_1   # -R помечает рекурсивно

# назначить новую версию (и т.д.)
cvs tag -R v0_0_2   


# посмотреть назначенные версии у файлов
cvs status -v

# получить код с заданной версией (почти не нужно, при использовании cvswork.pl)
cd $HOME #уйти из директории проекта
cvs -d $HOME/cvsroot/ -q export -r v0_0_2 -d MODULE-0.0.2 MODULE

# вместо v0_0_2 и MODULE подставьте нужную версию и имя проекта


9. ЭКСПОРТИРОВАНИЕ ТЕКСТА ПРОГРАММЫ С ОПИСАНИЕМ

ПРИМЕР 1:
cvswork.pl cvswork --noopt-description --no-rus-help --exe=cvswork.pl

Программа экспортирует:
cvswork-eng.tex        Описание на английском
cvswork-rus.tex        Описание на русском
src/cvswork-1.9.0.tgz  Исходный код в сжатом виде

При этом описание включает следующие файлы, которые обнаружились в
рабочей директории MODULE:

а) файл readme (readme.koi) --- в английском (русском) описании;

б) краткую справку по программе (по опции --help);

в) полное описание программы (если через опцию
--opt-description="--man" задана опция программы, выдающая
полное описание: например, если --opt-description="--man", то
программа будет запущена с опцией --man и вывод будет показан);

г) историю модификации программы --- даты, когда изменялся исходный
код;

д) файл LICENSE.txt (LICENSE.koi) --- в английском (русском) описании

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

При этом, скрипт cvswork.pl откомпилирует версию кода командой make и
запустит её, чтобы извлечь информацию по пунктам б) и в). Таким
образом, будет автоматически проверено, что программа хотя бы запускается.

В экспортируемом исходном коде в каждый *.c и *.h файл будет
подставлено содержимое файла MODULE/HEAD --- так можно автоматически
вставлять свидетельство об авторстве программы и прочие заметки.


ПРИМЕР 2:
cvswork.pl maxlcp --opt-description="--man" --no-rus-help

Программа экспортирует:
maxlcp-eng.tex        Описание на английском
maxlcp-rus.tex        Описание на русском
src/maxlcp-0.0.8.tgz  Исходный код в сжатом виде
mingw/maxlcp.zip      Выполнимый файл под Win32

Для наличия выполнимого файла под Win32 необходимо иметь
makefile.mingw, в котором запускается кросс-компилятор. В качестве
примера, см. любой проект с
http://www.math.toronto.edu/dkhmelev/PROGS/index-rus.html


УСЛОВИЯ ИСПОЛЬЗОВАНИЯ

См. файл LICENSE.koi


3  Использование и сводка опций

user@computer$ ./cvswork.pl --help
Usage:
    cvswork.pl [options] program_name

     Options:
      --exe <name>                name of executable file of the project
      -p <path> --path <path>     path to executable file
      --opt-help=<s=--help>       set help option
      --opt-description=<str>     set description option
      --opt-rus-help=<str>        which is Russian help option
      --opt-rus-description=<str> option for description in Russian (if exists)
      --noopt-description=<str>   no full description, just a short help screen
      --mingw_makefile=<str>      set MinGW makefile
      -? --help                   brief help message

    DESCRIPTION

    This program makes TeX description for a program from CVS repository
    using the output of the program itself. It constructs .tgz tarball in
    src/ subdirectory, tries to cross-compile MinGW version (and puts
    upx-compressed .exe file into mingw subdirectory).

    Example of use:

    cvswork.pl suffsort --opt-description="--man" --no-rus-help



4  Развитие программы

Даты изменения файлов программы:

2003-08-27

2003-09-28

2003-10-02

2003-10-21

5  Лицензия

cvswork.pl

Программа доступна с http://www.math.toronto.edu/dkhmelev/PROGS/misc/cvswork-rus.html

Автор:

Дмитрий Викторович Хмелёв dkhmelev((at))math.toronto.edu [замените ((at)) на @, чтобы получить настоящий адрес - антиспам]

119 992, Москва, Ленинские горы, МГУ, 1 Гум. корп., Филологический факультет, Лаборатория общей и компьютерной лексикологии и лексикографии.

УСЛОВИЯ ИСПОЛЬЗОВАНИЯ

Эта программа может свободно распространяться на условиях лицензии GNU версии два или выше (см. прилагаемый файл COPYING с условиями распространения).

Используя эту программу Вы соглашаетесь с условиями использования.

ОТСУТСТВИЕ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ

ПОСКОЛЬКУ НАСТОЯЩАЯ ПРОГРАММА РАСПРОСТРАНЯЕТСЯ БЕСПЛАТНО, ГАРАНТИИ НА НЕЕ НЕ ПРЕДОСТАВЛЯЮТСЯ В ТОЙ СТЕПЕНИ, В КАКОЙ ЭТО ДОПУСКАЕТСЯ ПРИМЕНИМЫМ ПРАВОМ. НАСТОЯЩАЯ ПРОГРАММА ПОСТАВЛЯЕТСЯ НА УСЛОВИЯХ "КАК ЕСТЬ". ЕСЛИ ИНОЕ НЕ УКАЗАНО В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ НЕ ПРИНИМАЕТ НА СЕБЯ НИКАКИХ ГАРАНТИЙНЫХ ОБЯЗАТЕЛЬСТВ, КАК ЯВНО ВЫРАЖЕННЫХ, ТАК И ПОДРАЗУМЕВАЕМЫХ, В ОТНОШЕНИИ ПРОГРАММЫ, В ТОМ ЧИСЛЕ ПОДРАЗУМЕВАЕМУЮ ГАРАНТИЮ ТОВАРНОГО СОСТОЯНИЯ ПРИ ПРОДАЖЕ И ПРИГОДНОСТИ ДЛЯ ИСПОЛЬЗОВАНИЯ В КОНКРЕТНЫХ ЦЕЛЯХ, А ТАКЖЕ ЛЮБЫЕ ИНЫЕ ГАРАНТИИ. ВСЕ РИСКИ, СВЯЗАННЫЕ С КАЧЕСТВОМ И ПРОИЗВОДИТЕЛЬНОСТЬЮ ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ. В СЛУЧАЕ ЕСЛИ В ПРОГРАММЕ БУДУТ ОБНАРУЖЕНЫ НЕДОСТАТКИ, ВСЕ РАСХОДЫ, СВЯЗАННЫЕ С ТЕХНИЧЕСКИМ ОБСЛУЖИВАНИЕМ, РЕМОНТОМ ИЛИ ИСПРАВЛЕНИЕМ ПРОГРАММЫ, НЕСЕТ ЛИЦЕНЗИАТ.

ЕСЛИ ИНОЕ НЕ ПРЕДУСМОТРЕНО ПРИМЕНЯЕМЫМ ПРАВОМ ИЛИ НЕ СОГЛАСОВАНО СТОРОНАМИ В ДОГОВОРЕ В ПИСЬМЕННОЙ ФОРМЕ, АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ, КОТОРЫЙ МОДИФИЦИРУЕТ И/ИЛИ РАСПРОСТРАНЯЕТ ПРОГРАММУ НА УСЛОВИЯХ НАСТОЯЩЕЙ ЛИЦЕНЗИИ, НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ПЕРЕД ЛИЦЕНЗИАТОМ ЗА УБЫТКИ, ВКЛЮЧАЯ ОБЩИЕ, РЕАЛЬНЫЕ, ПРЕДВИДИМЫЕ И КОСВЕННЫЕ УБЫТКИ (В ТОМ ЧИСЛЕ УТРАТУ ИЛИ ИСКАЖЕНИЕ ИНФОРМАЦИИ, УБЫТКИ, ПОНЕСЕННЫЕ ЛИЦЕНЗИАТОМ ИЛИ ТРЕТЬИМИ ЛИЦАМИ, НЕВОЗМОЖНОСТЬ РАБОТЫ ПРОГРАММЫ С ЛЮБОЙ ДРУГОЙ ПРОГРАММОЙ И ИНЫЕ УБЫТКИ). АВТОР И/ИЛИ ИНОЙ ПРАВООБЛАДАТЕЛЬ В СООТВЕТСТВИИ С НАСТОЯЩИМ ПУНКТОМ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ДАЖЕ В ТОМ СЛУЧАЕ, ОНИ БЫЛИ ПРЕДУПРЕЖДЕНЫ О ВОЗМОЖНОСТИ ВОЗНИКНОВЕНИЯ ТАКИХ УБЫТКОВ.

1  Загрузка
2  Файл readme.koi
3  Использование и сводка опций
4  Развитие программы
5  Лицензия

Программы >> Разные >> [ template | cvswork | img2djvu Окт, 7 | lcp | longlcp | lar | histogram | maxlcp | pdftodjvu Сент, 25 | polygon | ppmcluster ]

- ???????@Mail.ru
© 2002-2005 Д.Хмелёв -