2014-01-06 5 views
0

나는 중앙 마스터 저장소와 여러 개의 작업 사본이 있습니다.다른 사람들이 당길 때 의욕적 후크

작업 복사본이 마스터에서 가져오고 현재이 마스터에서 일부 작업을 수행해야합니다. 그래서, 나는 다른 저장소가 잡아 당길 때마다 트리거되거나, 저장소에서 끌어 올리려는 시도 (= 전혀 새로운 것을 사용할 수 없다)가 필요하다.

시도했지만 preoutgoing, 나가는 변경 집합을 사용할 수있는 경우에만 트리거됩니다.

마스터 리포지토리에서이 문제를 어떻게 해결할 수 있습니까?

+0

사람들은 HTTP 또는 ssh를 통해 puling 있습니까? Theres 어느 쪽이든을위한보기 흉한 응답, 그러나 그들은 다르다. –

+0

'local' 또는'http'. –

답변

1

로컬 파일 액세스의 경우 운이 좋지 않습니다. http를 통해 웹 서버의 http 수준에서 문제를 일으킬 수 있어야합니다. 하나는 일반적으로 hgweb 앞에 apache 또는 nginx 또는 gunicorn 또는 다른 wsgi 컨테이너가 있고 스크립트에 GET 코드를 실행할 수 있습니다.

변경 사항이있을 경우에만 outgoing 후크가 트리거된다는 것이 맞습니다.

+0

그건 유감이지만, 어쨌든 고맙습니다. –

0

마스터 "비밀"을 변경하십시오. 그들이 그렇다면 다른 사람들은 당기면 그들을 보지 못할 것입니다.

중 하나를 마스터에 당신이 .hgrc 추가

[phases] 
new-commit=secret 

또는 모든이, 비밀 단지 이상한 하나 또는 두 개의, 사용이 될 것을 약속하지 않으려면 ...

$ hg commit --config phases.new-commit=secret 

변경 사항을 공개하려면 '단계'를 공개로 변경하십시오.

$ hg phase --public -r <revision> 

단계 내가 this three part series(2)(3)hg help phases을 읽어 보시기 바랍니다 당신에게 새로운 경우

+0

이것이 내 질문과 어떤 관련이 있는지 모르겠다. 설명해 주시겠습니까? –

+0

당신의 문제는 당신이 저장소에서 일하고 있다고 생각했지만 다른 저장소로 변경 사항을 끌어들이는 것을 원하지 않았습니다. 당신은 후크를 통해 그것을 풀려고했지만 다른 방법은 변경 사항을 비밀로 표시하는 것입니다. 나는 당신의 문제가 무엇인지 오해 했습니까? –

+0

내 문제는 누군가가 당길 때마다 "정보를 얻고 싶다"는 것이 었습니다 ... 그것은 암호화 된 수은 저장소를 얻는 방법을 처음 생각한 단계였습니다. 한편 나는이 단계없이 그것을 해결했다 : http://www.codeduce.com/extra/secure_mercurial –