2011-03-27 4 views
2

현재 프로젝트에서는 Mercurial을 사용하고 Bitbucket에서 호스팅하고 있습니다.버전 관리에서 사용하지 않는 오래된 큰 파일

이것은 내가 올바르게 버전 컨트롤을 사용했던 첫 번째 프로젝트였습니다. 그래서 몇 가지 실수를 저질렀습니다. 이 중 하나는 내 프로젝트가 저장소에 사용하는 모든 (압축되지 않은) 사운드 파일을 코드와 함께 저장한다는 것입니다.

결과적으로 지금은 더 이상이 파일을 저장하지 않아도 서버에서 처음으로 당겨도 꽤 오랜 시간이 걸린다. (저장소에서 모든 것을 저장할 수 있도록 추측하고 있습니다. 내가 원한다면 그 파일을 되 찾을 수 있겠는가?) 프로젝트는 필요한 공간보다 더 많은 공간을 차지한다.

큰 문제는 아니지만 지금 당장 해결할 수있는 좋은 방법이 무엇인지 궁금합니다. 또한 저장소의이 "파괴적인"편집이 다른 포크와의 "호환성"에 영향을 줍니까? (포크 사이에 변경 사항을 푸는 데 문제가 생길 수 있습니다)?

감사합니다. 더 자세한 내용이 필요하면 의견을 물어보십시오. 관련 유사

/: How to cleanup Mercurial repository?

답변

3

당신은 convert extension 사용하고 REPO을 재건하고 그렇게하는 동안 특정 파일을 제거하는 명령 할 수있다. 그러나 올바르게 추측했듯이 이런 종류의 변경은 새로운 변경 집합 해시를 만들어 다른 포크와의 "호환성"을 깨뜨립니다.

+1

저장소 무결성은 이런 식으로 양날의 검이며 우리가 살아야하는 실수입니다. – invert

+0

답변 해 주셔서 감사합니다. 자, 내가 똑같은 조작 (changeset X에서 파일 A를 제거한다고 말하면서), repo 1과 fork 2에서 fork가 변경 세트에서 일어난다는 것을 이해합니다. X의 자손), 같은 방식으로 다시 해치려해서는 안되며 (따라서 호환이 계속됩니까?) (실제로 나의 저장소의 일부 사본에서 이것을 시험해보고 그것이 성취 가능한지 확인하십시오) –

+0

아니요, 부모 변경 집합에 대한 참조도 포함되어 있기 때문에 부모가 동일하지 않은 경우 해시가 변경됩니다. – Lucero

1

또한 저장소의 "파괴적인"편집은 다른 포크와의 "호환성"에 영향을 줍니까?

예, 그렇습니다. 너의 좋은 생각이야! 사실상 새로운 저장소가 될 것입니다.

관련 문제