본문 바로가기

VersionControl

[svn] 리눅스 실행 권한 추가 후 커밋 svn을 사용하다가 파일 권한에 실행 권한이 없어 실행 권한을 줬는데 정작 커밋은 되지 않는 현상이 있다. 버전 컨트롤 입장에선 동일한 파일로 인지하기 때문인 듯 하다. 이런 문제를 해결 할 수 있는 방법이 있다!!! svn propset svn:executable ON {실행 권한 줄 파일} 이렇게 한 후 커밋을 하면 실행권한이 추가된 채로 커밋이 가능하다. (svn ci)윈도우에서 건드리면 파일권한이 변경 되는 문제가 있으므로 모든 과정은 리눅스에서 진행 하도록한다! 물론 다시 당겼을 때 실행 권한이 적용되어 있는것을 확인 할 수 있다.
[git] 미러링하기 mirroring with cron, crontab, expect 간혹 프로젝트를 진행하다보면 미러링이 필요할 경우가 있습니다. 예를들면 협력사에서 협업을위해 특정 IP에 대해 자신들의 git 서버를 열어주는 경우입니다. 물론 울회사에서 한명만 협업을 한다면 상관없겠지만(?) 여러명이 협업을 하는거라면 하나의 IP로만 접근이 되기 때문에 난감합니다. 이럴경우 미러링을 통해서 문제를 해결 할 수 있습니다. 열어준 하나의 아이피에 미러 서버를 만들어 놓고 여러 직원들은 그 미러 서버에 클론해서 작업을 진행하면 됩니다. 하 하 하 미러 서버를 만드는 방법은 매우 간단합니다. 구축 명령어 구조 $ git clone --mirror {id}@{ip}:{path} 사용예 $ git clone --mirror testid@255.255.255.255:/home/git/testpat..
[svn] 커맨드 라인에서 Unversioned 파일 제거 하기 커맨드 라인에서 Unversioned 파일을 제거하고 싶어질 때가 있다(?) 예를들면 체크아웃한 코드를 빌드해서 나온 산출물들이 걸리적 거리거나, 추가했던 파일이나 디렉터리가 필요없어질 경우 등등 TortoiseSVN을 사용하면 아래와 같이 손쉽게 제거가 가능하다. 하지만 커맨드 모드에는... 물론 Tortoise SVN 커맨드 모드에서는 지원해준다. http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html 그러나 우리는(?) 나는(?) 걍 순정(?) svn에서 하고 싶다. ㅠㅜ 다행히 이렇게 하면 된다고 한다. svn status --no-ignore | grep '^\?' | sed 's/^\? //' | xargs -Ixx rm..
[git] Git clone 문법 간단한거 같으면서도 매번 헛갈려서 정리... 형태는 아래와 같다. $ git clone [ID]@[IP]:[Path] 예제는 아래와 같다. git clone testid@255.255.255.255:/home/git/testpath.git 끝!