Ключевые слова:cvs, rus, charset, patch, (найти похожие документы)
Date: Mon, 9 Jul 2001 19:13:59 +0000 (UTC)
From: Michael Kazakov <kazakov@fintech.ru>
Newsgroups: fido7.ru.unix
Subject: комментарии в cp1251 на CVS сервере
EG> Угу. Russian Apache, в общем, делает дело. Hо сейчас задачи
EG> появляются другие и от перекодировки в момент commit'а я бы не
EG> отказался. Вот из отпуска выйду, так поковыряюсь.
Попробую поделиться опытом, --- надеюсь, кому-нибудь поможет:
1. Мне не удалось обойтись без правки cvs
diff -urN cvs-1.11.1p1.orig/src/wrapper.c cvs-1.11.1p1/src/wrapper.c
--- cvs-1.11.1p1.orig/src/wrapper.c Thu Apr 19 23:34:04 2001
+++ cvs-1.11.1p1/src/wrapper.c Mon Jul 9 20:53:50 2001
@@ -402,10 +402,6 @@
*line='\0';
switch(opt){
case 'f':
- /* Before this is reenabled, need to address the problem in
- commit.c (see http://www.cyclic.com/cvs/dev-wrap.txt). */
- error (1, 0,
- "-t/-f wrappers not supported by this version of CVS");
if(e.fromcvsFilter)
free(e.fromcvsFilter);
@@ -416,10 +412,6 @@
error (1, 0, "Correct above errors first");
break;
case 't':
- /* Before this is reenabled, need to address the problem in
- commit.c (see http://www.cyclic.com/cvs/dev-wrap.txt). */
- error (1, 0,
- "-t/-f wrappers not supported by this version of CVS");
if(e.tocvsFilter)
free(e.tocvsFilter);
Но лучше, вероятно, ознакомиться с документом
http://cvshome.org/cyclic/cvs/dev-wrap.html
2. У пользователей на юниксе к ~/.cvswrappers добавляется строка
примерно следующего содержания:
<mask> -f 'cvsfromwin %s' -t 'cvstowin %s %s'
<mask> --- shell-style glob файлов, нуждающихся в перекодировании,
возможно --- *. cvsfromwin должна записать результат на место
исходного файла, cvstowin получит имена исходного и результирующего
файлов в качестве аргументов. Желательно убедиться, что эти имена не
являются именами каталогов. cvsfromwin и cvstowin не должны выполнять
преобразование LF<->CRLF.
3. Для перекодирования логов пишется скрипт такого вида:
#!/bin/sh
fromwin -b "$1"
$EDITOR "$1"
towin -b "$1"
fromwin и towin из пакета d1489
Переменная $CVSEDITOR должна на этот скрипт указывать.
4. Все документы внутри репозитория будут храниться в
cp1251. Пользователи юникса получат их в koi8 (или в чём угодно
--- зависит от fromwin, towin)
5. Почему-то после добавлении к cvswrappers ключа -t при коммите
вылезает ошибка про невозможность удалить временный файл с логом,
кто-то его шлёпает до того --- черкните, если разберётесь.
6. Вероятно, где-то есть какие-то грабли, на которые я пока по
случайности ещё не наступил --- просьба покритиковать вышеописанные
действия.
--
WBR, Michael Kazakov.