서브버전을 이용한 실용적인 버전관리, Mike Mason 저, 류광 역, 정보문화사, 2006

처음 서브버전을 이용할 때 좋은 입문서. 버전 관리 시스템을 사용하면서 생길 수 있는 미묘한 문제까지 다룬 책이 나오길 기대한다.

    개발자 실험용 가지라고 해서 특별한 것은 없다. ... 단, 가지 이름은  TRY로 시작하는 것이 관례이다
    work> svn copy -n "new hibernate persistence spike" \
        svb://olio/sesame/trunk \
        svb://olio/sesame/branches\TRY-MGM-hbn-spike
(128쪽)

최상위 파일들...
READEME ...
BUILDING ...
GLOSSARY ...
(137쪽)


SVN 로그인 cache 지우기

SVN 2009. 6. 30. 09:28
* subversion/auth 디렉토리를 지워야  로그인 cache 가 지워진다.
* subversion/config 파일만 고쳐서는 안된다.

UNIX 계정을 공유하고, SVN 계정을 각자 쓰기 위해서 위와 같은 일을 하고 있다.

이런 환경에서 가장 좋은 설정은 무엇일까?

분명히 정적 오브젝트인 것 같은데, 관련 프로그램을 다시 컴파일하지 않으면 오류가 발생한 적이 여러 번 있었다.

오늘에서야 의문이 풀렸다.

내가 정적(static) 이라고 생각했던 것은, 공유 오브젝트였다.

아마 확장자가 *.a 여서 그렇게 판단했을 텐데, AIX 에서는 확장자로 정적/공유 를 구분하지 않는다고 한다.

정적인지 공유인지 구별하는 방법은

$ dump -ov 오브젝트

의 결과에 SHROBJ 가 있으면 공유, 없으면 정적이라고 한다.

아래는 참고 문서이다.

오브젝트 파일이 공유 오브젝트인지 정적 오브젝트인지 구분하려면 dump 명령을 사용해야 한다. 예제 2-3에서 Flags 줄에 SHROBJ 키워드가 나오는데 이 경우 이 오브젝트 파일은 공유 오브젝트이고 이 키워드가 안 나오면 정적 오브젝트이다.
$ dump -ov shr.o
shr.o:
***Object Module Header***
# Sections Symbol Ptr # Symbols Opt Hdr Len Flags
5 0x00251764 26925 72 0x3002
Flags=( EXEC DYNLOAD SHROBJ )
Timestamp = "Feb 03 08:59:14 2003"
Magic = 0x1df (32-bit XCOFF)


(출처:
http://www-903.ibm.com/kr/techinfo/pseries/tech/Developing_C_C++_Application_on_AIX_AIX_DIY(SE).pdf
)

ISAM 한 레코드의 최대 길이는 32511 bytes 이다. 더 큰 길이로, 파일을 만드려고 (isbuild) 하면 132(iserrno) 에러가 난다.


Building a Variable-Length File
Use the isbuild function to create a C-ISAM file for variable-length records.
To build a file for variable-length records
1. Before you call isbuild, set isreclen to the minimum number of bytes
in the variable-length record.
This establishes the length of the fixed-length portion of the record.
The total record length can range from 2 to 32,511 bytes; the fixedlength
portion can range from 1 to 32,510 bytes.


더 긴 레코드 처리를 해야하는데, 어떻게 할까?


make 를 하는데 에러가 난다.

멀정히 썼던 makefile 인데, PC(윈도)에 갔다가 ftp 로 전달되면서 생긴 일이다.

몇 시간 삽질 후에 잘 되는 makefile 과 비교를 해보았다.


arbi9:/home/cts/src/pibb/pibb5800>od -c makefile.OK
0000000    i   n   c   l   u   d   e       .   .   /   .   .   /   :   e
0000020    n   v  \n
0000023
arbi9:/home/cts/src/pibb/pibb5800>od -c makefile.ERROR
0000000    i   n   c   l   u   d   e       .   .   /   .   .   /   :   e
0000020    n   v  \r  \n
0000024

carriage return 이 들어있어서 에러였다.

carraige return을 vim 에서 없애려고 했더니 안된다.

ftp 로 PC 에서 server 로 다시 전송해보기로 했다.

ascii 모드로 전송했더니, 드디어 carriage return 이 없어졌다.

make 도 이상없이 된다.

삽질 도중에 발견한 CR(carriage return) 의 유래이다.

http://www.oualline.com/practical.programmer/eol.html


C:\Documents and Settings\{사용자이름}\Application Data\Mozilla\Firefox\Profiles\5ttai4z9.default\searchplugins

에 있다.

firefox2 에서는  C:\Program Files\Mozilla Firefox 에 있었다.

import 중 다음과 같은 에러 발생

Adding         src2008/pibg/pibg5180
svn: Invalid control character '0x7f' in path 'src2008/pibg/pibg5180/pibg5180.c'
svn: Your commit message was left in a temporary file:
svn:    'svn-commit.2.tmp'

ls -b 로 보니 특수 문자가 들어있는 파일이 있다.
arbi9:/home/cts/src2008/pibg/pibg5180>ls -b
CVS/              pibg5180*         pibg5180.c.1108   pibg5180.c.new    pibg5180.c.sav
makefile*         pibg5180.c        pibg5180.c.1130   pibg5180.c.org    \177pibg5180.c

windows ftp client (WinSCP)로 접속해서 지웠다
(참고: http://osdir.com/ml/version-control.subversion.cvs2svn.user/2006-06/msg00058.html)


몇 시간 동안 삽질 후에 성공했다.
* tar 를 root 로 풀어야 하는 것
* 관련 라이브러리(내 경우에는 libintl.a)를 LIBPATH 에 추가해주는 것이 중요

1. 아래 URL 에서 binary  받음. 파일 복사(설치하지 않았음)
http://www.open.collab.net/downloads/community/

2. 서버에 복사
subversion-1.4.6-apache-python.tar 를 서버의 /tmp 에 ftp 로 올렸다.

3. root 로 /opt/... 에 tar 풀었다
$ su - root
# cp /tmp/subversion-1.4.6-apache-python.tar /
# cd /
# tar -xvf subversion-1.4.6-apache-python.tar

3. ~/.profile LIBPATH에 추가.
/usr/opt/freeware/lib 를 추가하지 않았을 때는 에러가 난다. 항목 4 를 참고.
/usr/opt/freeware/lib 경로는 lslpp -fc | grep libintl 명령으로 추정한 것이다.

LIBPATH="/usr/opt/freeware/lib":$LIBPATH
LIBPATH="/opt/subversion/lib":$LIBPATH
export LIBPATH

4.  참고 에러 메시지
arbi9:root:/opt/subversion/bin#svn
exec(): 0509-036 다음 오류 때문에 svn 프로그램을 로드할 수 없습니다.
        0509-150   종속 모듈 /home1/sybase/OCS-12_5/lib/libintl.a(libintl.so.1)이(가) 로드되지 않았습니다.
        0509-152   libintl.so.1 멤버가 아카이브 에 없습니다.


* ver 4.0

ALT + Y > screen font


* ver 3.5

Alt + T   > screenfonts



서버에서 날짜가 한글로 표시되고 있는데, Total Commander ftp 로 모두 깨져 나온다.
(cuteftp 에서는 날짜가 틀리게 나오고, WinScp 에서는 제대로 나온다)

Total commander 에서는
"pppppppppp              !S* MM월 DD일 UUUUU n*" 설정을 넣어 주면 된다.

같은 회사 ㅎ 차장님이 알려 주신 정보이다.

원래 출처는
http://xpg.in/forum/viewtopic.php?p=4953
라고 한다.