신입생 알림!Mercurial 중앙 서버 파일의 불일치 ('diff to local'사용)
좋아, 나는 몇 주 동안 함께 일해 온 중앙 Mercurial 저장소가있다.
정말 기괴한 문제가 발생할 때까지 모든 것이 잘되었습니다. 중앙 서버가 자체 서버와 동기화되지 않는 것 같습니다. 지금은 아웃 오브 싱크 (out-of-sync)로 보이는 파일이 하나 밖에 없지만, 앞으로 일어날 수있는 문제를 방지하기 위해 어떻게 이런 일이 발생했는지 정말로 알아야합니다.
시나리오 :
1) 기존 프로젝트 디렉토리를 사용하여 서버에 의욕 저장소를 만들었습니다. 디렉토리에 'mypage.aspx'파일이 있습니다. 내 워크 스테이션에서
2), 나는
4
을 mypage.aspx을 편집했다3) 중앙 저장소) HG 커밋, 중앙 서버에 내 워크 스테이션에서 다음 HG 밀어 복제
5) 이제 TortoiseHg의 저장소 탐색기를 사용하여 서버의 저장소에서 mypage.aspx를 보면 mypage.aspx의 변경 내역을 볼 수 있습니다. 초기 체크인과 편집 중 하나입니다. 그러나 'Diff to local'을 선택하면 서버의 디스크에있는 현재 버전이 편집 된 버전이 아니라 원래 버전임을 보여줍니다!
아직 브랜칭을 실험하지 않았으므로 브랜치 문제가 발생하지 않을 것이라고 확신합니다.
서버 또는 클라이언트의 'hg status'는 보류중인 변경 사항을 반환하지 않습니다.
서버 저장소의 복제본을 새 위치에 만들면 예상했던 것과 같은 변경 기록이 표시되지만 디스크의 파일에는 내 편집 내용이 포함되지 않습니다.
그래서, 요약하자면 :
중앙 저장소 = 원본 파일 만 보여줍니다 (나쁜) 업데이트 내역
로컬 저장소 'A'= 업데이트 된 파일에 변화가 개정 역사의 변화를 보여줍니다 (좋은)
로컬 저장소 'B'= 원본 파일은, 그러나 개정 역사의 변화를 보여줍니다 (나쁜)
도와주세요.
감사합니다,
데이비드
hg 요약은 작업 카피 본의 개정판을 보여줍니다; hg 팁은 팁의 개정판을 보여줍니다. –
팁 주셔서 감사. 초기 패닉이 닳아 없어지는 것이 당연합니다! Mercurial FAQ에서 밀어 넣기 후 중앙 저장소에서 자동 업데이트를 수행하는 방법을 보여주는 항목을 발견했습니다. 이는 내가 원했던 것입니다. –