TortoiseSVN에서 잘못된 메시지로 커밋을 했을 때, Log에서 마우스 오른쪽 버튼을 누르면 로그 메시지 편집 기능이 있다.

하지만, 해당 메뉴를 클릭하면 관리자에게 문의하라는 에러가 뜬다.

While handling the 'svn:log' property on '/svn/MyProject/!svn/bln/999':
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook

 

단발성 수정 방법

다음의 콘솔 명령어를 이용하면 해당 로그의 메시지만 수정할 수 있다.

svn propedit -r {리비전번호} --revprop svn:log {SVN 저장소 URL}

다만, 이 명령어는 관리자 권한이 있는 유저만 사용할 수 있다.

 

항상 허용하는 방법

관리자가 한번 설정하면 이후 모든 유저가 로그 메시지를 편집할 수 있게 허용하는 방법이다.

 

VisualSVN 서버 관리 툴을 연다. 저장소를 선택하고, 마우스 오른쪽 버튼을 눌러 속성창을 연다.

Hooks 탭에서 Pre-revision property change hook을 선택하고 하단의 Edit 버튼을 누른다.

창이 열리면 다음의 내용을 붙여 넣고 저장한다.

@ECHO OFF
:: Set all parameters. Even though most are not used, in case you want to add
:: changes that allow, for example, editing of the author or addition of log messages.
set repository=%1
set revision=%2
set userName=%3
set propertyName=%4
set action=%5

:: Only allow the log message to be changed, but not author, etc.
if /I not "%propertyName%" == "svn:log" goto ERROR_PROPNAME

:: Only allow modification of a log message, not addition or deletion.
if /I not "%action%" == "M" goto ERROR_ACTION

:: Make sure that the new svn:log message is not empty.
set bIsEmpty=true
for /f "tokens=*" %%g in ('find /V ""') do (
set bIsEmpty=false
)
if "%bIsEmpty%" == "true" goto ERROR_EMPTY

goto :eof

:ERROR_EMPTY
echo Empty svn:log messages are not allowed. >&2
goto ERROR_EXIT

:ERROR_PROPNAME
echo Only changes to svn:log messages are allowed. >&2
goto ERROR_EXIT

:ERROR_ACTION
echo Only modifications to svn:log revision properties are allowed. >&2
goto ERROR_EXIT

:ERROR_EXIT
exit /b 1

Hook 스크립트를 입력하고, OK를 눌러 속성창을 닫으면 된다.

 

참고#1: https://stackoverflow.com/questions/304383/how-to-edit-log-message-already-committed-in-subversion

 

How to edit log message already committed in Subversion?

Is there a way to edit the log message of a certain revision in Subversion? I accidentally wrote the wrong filename in my commit message which could be confusing later. I've seen How do I edit an

stackoverflow.com

참고#2: https://stackoverflow.com/questions/197224/what-is-a-pre-revprop-change-hook-in-svn-and-how-do-i-create-it

 

What is a pre-revprop-change hook in SVN, and how do I create it?

I wanted to edit a log comment in the repository browser and received an error message that no pre-revprop-change hook exists for the repository. Besides having a scary name, what is a pre-revprop-...

stackoverflow.com

 

*스포주의*

 

최근에 넷플릭스에서 공개된 '삼체' 드라마를 재미있게 봤습니다. 예전에 소설로도 읽었지만, 내용이 너무 방대하고 복잡해서 이해가 쉽지 않았지만, 드라마는 간략하게 요점만 정리해 놓았기 때문에 대중적으로도 인기를 끌 수 있는 좋은 작품이라는 생각이 들었습니다.

 

그런데, 제 기억으로는 삼체인의 특성과 유사한 외계인이 과거 다른 드라마에서 이미 등장한 적이 있었습니다. 1987년에 방영된 "스타트렉: 넥스트 제너레이션"의 시즌 1, 에피소드 18편입니다. 제목은 "Home Soil"입니다. 스토리는 대략 다음과 같습니다.

 

인간은 어떤 행성을 테라포밍을 하려고 준비 중이었습니다. 해당 행성에는 지적 생명체가 없었기 때문에 바로 진행하려고 했고요. 그런데, 갑자기 드릴 같은 기계가 오작동을 하면서 인간을 공격하는 사건이 벌어졌습니다. 엔터프라이즈호는 이 사건을 조사하려고 이 행성을 방문하게 됩니다. 그들은 사고 현장에서 빛이 나는 이상한 크리스털을 발견하게 되는데, 마치 그 크리스털이 살아 있는 거 같다는 느낌을 받게 됩니다.

자세한 분석을 위해서 그걸 채취해서 엔터프라이즈호로 가져오는데, 엔터프라이즈 호의 컴퓨터가 해킹을 당하는 등 이상한 현상이 벌어집니다. 알고 보니 크리스털 안에는 아주 작은 외계인이 있었는데, 이들은 현미경으로 봐야 보일 정도로 작고, 실리콘이라는 무기질 기반의 생명체였습니다. 일반적으로 생명체는 대부분 유기질인데, 작고 무기질의 생명체라서 미처 발견을 못했던 것이었습니다. 상당한 지능을 갖춘 생명체라는 걸 알게 된 엔터프라이즈호 승무원들은 해당 지적생명체와 소통을 시도하고, 본인들은 지적 생명체가 있는 행성은 테라포밍 하지 않는다고 얘기를 해서, 서로의 오해를 풀게 되었다는 스토리입니다.

 

스타트렉에 나온 이 외계인은 반도체와 비슷한 특성을 가지고 있습니다. 혼자서는 별다른 능력이 없지만, 여럿이 뭉치면 엄청난 지능을 발휘하게 되죠. 삼체인의 특징과 유사합니다. 삼체인들도 그들의 몸으로 컴퓨터를 만들 수 있죠.

드라마 삼체에서는 사람으로 비유를 했는데, 작은 무기질의 삼체인은 반도체의 트랜지스터 같은 역할을 할 수 있다고 보면 될 거 같습니다.

 

"스타트렉: 넥스트 제너레이션"이 방영되기 전인 70~80년대는 현대적인 반도체가 본격적으로 등장하기 시작한 때라서, 당시 SF 드라마 작가들에게도 그런 기술의 발달이 영감을 줘서 반도체 같은 외계인이 스타트렉에도 등장한 걸로 보입니다.

 

그런데 재미있는 사실은, 스타트렉의 해당 에피소드의 시청률은 매우 낮았습니다. 기존의 다른 에피소드와 성격이 많이 달랐기 때문으로 보이는데요. 어떤 평론가는 "오리지널 Star Trek 시리즈와 달리 'Home Soil'은 하드 공상과학소설의 영역을 탐구했다"라고 얘기하기도 했습니다. 즉, 일반인이 이해하기엔 다소 어려운 설정이 아니었나 싶네요.

 

삼체 소설은 스타트렉의 해당 에피소드가 나온 지 20여 년이 지난 후에 나왔습니다. 그러니, 아무래도 스타트렉에 등장한 외계인이 삼체인의 원조 같다는 생각이 드네요. 다만, 스타트렉에서는 여러 여건상 표현하기가 쉽지 않았던 그 외계인을 삼체에서는 다양한 방법으로 잘 묘사하고 있다는 느낌이네요.

 

참고: https://en.wikipedia.org/wiki/Home_Soil

WSL의 우분투에서 앱을 실행하려고 하는데, 이런 에러가 발생한다면

error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

libssl 1.1 라이브러리를 설치해 줘야 한다.

일단 OpenSSL 라이브러리를 모아 둔 경로는 다음과 같다.

 

http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/?C=M;O=D 

 

Index of /ubuntu/pool/main/o/openssl

 

nz2.archive.ubuntu.com

 

윈도 10이나 윈도 11 64비트에서 WSL을 사용 중이라면, 위의 경로에서 libssl 1.1 중에서는 AMD64 버전을 받아야 하는데, 이름과 다운로드 경로는 아래와 같다.

 

libssl1.1_1.1.0g-2ubuntu4_amd64.deb

다운로드 경로: http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb

 

설치 방법은 다음과 같다.

1. 우분투를 실행하고 위의 파일을 다운로드한다. 명령어는 다음과 같다.

wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb

2. 다운로드한 파일을 설치하자. 명령어는 다음과 같다.

sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb

 

참고 링크: https://stackoverflow.com/questions/72378647/spl-token-error-while-loading-shared-libraries-libssl-so-1-1-cannot-open-shar/73074916#73074916

+ Recent posts