2011-02-04 6 views
10

잠시 동안 소스 코드에서 코드를 작성했지만 필자의 .vim 폴더에 내 물건을 넣는 것이 멋진 일이라고 Repo에서 결정했습니다. (나는 분명히 내 저장소에 모든 것을 저장하지 않을 것이다. 단지 다양한 설정 파일들, 나의 src 디렉토리 그리고 어쩌면 다른 것들도)소스 제어 (hg)로 홈 디렉토리 넣기

나는 repo를 잘 설정하고, 내 컴퓨터에서 다른 컴퓨터에 액세스 할 수있는 내 서버는 있지만 다른 컴퓨터에 복제 할 수는 없습니다. 복제하려고 할 때 홈 디렉토리가 비어 있지 않기 때문에 실패합니다. 내가 원하는 것을 할 수있는 방법이 있습니까? 이미 존재하는 다른 디렉토리에서

답변

8

:

이 시도 물론 컴퓨터간에 도트 파일이 동일하지 않은 경우에는 그 파일에 대해 무언가를해야합니다. 난 단지 버전으로 내 홈 폴더에 어떤 파일이 아닌 모든 것을 원하기 때문에

, 나는 hg status을 할 때이 파일의 바다를하지 않는 ~/.hgignore

# This .hgignore is for the dotfiles repository only, 
# the rest of my HG repositories use the file 
# .hgignore_global as referenced by [ui]'s ignore setting. 

syntax:glob 
* 

이 방법이 간단한 규칙을 가지고 수정 된 버전 제어하에있는 파일 만 볼 수 있습니다.

그러나

[ui] 
ignore=/home/gajon/.hgignore_global 

그리고 ~/.hgignore_global 일반적인 임시 파일에 대한 몇 가지 필터가 포함 된 다른 HG 저장소 내에서 작업 할 때 나는 버전없는 파일을보고 싶어하기 때문에, 내 ~/.hgrc 파일이 있습니다

syntax: glob 
*.pyc 
*~ 
.*.swp 
.svn* 
*.svn* 
*.fasl 

syntax: regexp 
^\.pc/ 
+2

다른 옵션은 'hg init'과 'hg pull'(복제보다)입니다. –

+0

Ry4an, 정확합니다. 그리고 그것은 더 적절할 수 있습니다. 파일로 채워진 폴더를 만들고 나서'rm -rf' 할 필요가 없습니다. 감사! –

0

, 그럴 수 hg init, 당신이 원하는 hg add, hg commit 그 중앙의 repo에서 hg pull, 그 결과 병합 처리합니다.

+2

가 되세요을 너 이거 썼어? 당신이 끌어 당길 경우에만 작동합니다. 개인적으로, 나는 '.hg 디렉토리 복사'가 '깨끗한'대답이라고 생각한다. – Mikezx6r

1

proj1proj2이 있다고 가정합니다. proj1proj2에 복제 할 수있는 보급 알림이지만 proj2에 이미 파일이 있습니다. ,

~$ hg clone ssh://myserver/hg/dotfiles mydotfiles 
~$ mv mydotfiles/.hg . 
~$ rm -rf mydotfiles 

를 지금 홈 폴더는 버전 관리하에 즉, 그것 뿐이다 : 제가 한 것은이었다, 동일 내 컴퓨터 사이 버전 파일 때문에

hg clone proj1 proj3 
mv proj3/.hg proj2 
rmdir proj3 
cd proj2 
hg update -C -r tip 
+0

마지막 명령의'-r tip' 옵션을 생략 할 수있다. update는 * tip * 리비전을 기본값으로 사용한다. –