대학 후배녀석들이랑 재미삼아 임베디드 관련된 프로젝트를 천천히 진행하고 있습니다. 말이 프로젝트지 만나서 정보교환 및 술자리가 대부분입니다. 가끔 진짜 어쩌다 일합니다. -_- 그냥 친목 단체라 칭하겠습니다.
친목단체의 일원인 후배가 전화를 했습니다. 다급했습니다.
동생왈 : 형 미안해 svn에 있는 내용 내가 뭐좀 한다고 했다가 rm으로 날렀어.. 후후;; 웃으면서 말했죠..
저 : 똑같이 웃으면서 말했습니다. 개.새.끼.니.가.사.람.이.야.
항상 욕으로 시작해서 욕으로 끝나는 정말로 진정한 친목단체입니다..-_-;
일단 복구는 해야겠구... 어쩐나 하고 생각하고 있었습니다.
제 리눅스 컴퓨터에 자동으로 cron으로 저녁에 하루에 번씩 받아오도록 해놓았기 때문에 일단 제꺼를 기반으로
복구하기로 결정을 했습니다.
일단 실수로 삭제할 경우에는 당황하지 말기 바랍니다.
ㅇ 임시 디렉토리를 하나 만든다.
ㅇ svn co < 저장소 > 실행하여 임시 디렉토리에 HEAD버젼의 소스를 받는다.
ㅇ svn merge -r HEAD:[삭제 이전의 reversion] <저장소>를 실행하여 현재 HEAD버젼과 삭제되기 이전
버전과의 merge을 시도한다.
ㅇ 로컬에만 적용이 된것이므로 나머지 내용에 대해서 svn commit을 해주면 반영이 됩니다.
ex) reversion : 10223번에서 실수로 삭제할 경우 svn://xxx.xxx.xxx.xxx/project/em 를 삭제하였다면
1. 서버에서 할일
- 임시 디렉토리를 생성
ㅇ svnadmin create --fs-type -fsfs project
2. 클라이언트에서 할일.
- 임시 디렉토리를 내려받는다.
ㅇ svn co svn://xxx.xxx.xxx.xxx/project/ ( HEAD 버젼의 내용을 받습니다.- 그냥 받기만 하시면 됩니다.모르시면)
ㅇ svn merge -r HEAD:10223 svn://xxx.xxx.xxx.xxx/project 해주시면 됩니다.
ㅇ 마지막으로 svn commit 을 해주어야만 내용에 대해서 복구가 가능합니다.
'Management > Linux' 카테고리의 다른 글
[Ngrep] 사용법 (3) | 2009.02.21 |
---|---|
[ Ngrep ] Ngrep 정의 (0) | 2009.02.21 |
[subversion] 자동 데몬에 대한 정리 (0) | 2009.02.18 |
[ TIP ] vi 응용법( diff ) (0) | 2009.02.17 |
[subversion] 각 계정마다 또는 폴더마다 권한 설정하기. (0) | 2009.02.14 |