2010-06-01 6 views
2

내가 작업중인 웹 응용 프로그램의 버전 제어 프로세스를 제안하려고합니다. 현재, 내 주요 걸림돌은 거대한 (4GB 이상) 두 개의 디렉토리입니다. 단지 소수의 사람들 만 거대한 디렉토리 내의 것들에 대해 작업해야합니다. 대부분의 사람들은 그 안에 무엇이 있는지 보지 않아도됩니다./coolThings
---- coolThing.aspx
- -체크 아웃시 대용량 디렉토리 처리

/
--file.aspx
--anotherFile.aspx
/bigFolder
- : 우리의 디렉토리 구조는 뭔가처럼 보이는 ---someHugeMovie.mov
---- someHugeSound.mp3
-/anotherBigFolder
----...

나는 Y 확신 ou는 그림을 얻는다.

8GB의 데이터를 개발자에게 쓸모 없게 만드는 체크 아웃을 정당화하기는 어렵습니다. 알다시피, 그것은 한 번 뿐이지 만 한 번이라도 누군가에게 실망 스러울 수 있습니다 (그리고 모든 사람이 소스 제어를 사용하도록 설득하는 것이 더 어려워 질 것입니다). (또한 깨끗한 체크 아웃은 매우 느립니다.) 이러한 폴더는 웹 응용 프로그램에서 사용할 수 있어야합니다.

어떻게해야합니까? 나는 큰 폴더를위한 별도의 저장소에 대해 생각해 봤다. 그렇게하면 필요한 경우에만 다운로드 할 수 있습니다. 그런 다음 어떻게 개발 서버에 체크 아웃을 관리합니까? 나는 또한 그 폴더를 제어하는 ​​것을 시도하지 않는 것에 대해 생각해 보았습니다. 단지 웹 서버에서 직접 업데이트하는 것이 었습니다 ... 그러나 나는이 아이디어에 매혹되지 않았습니다. 내가 찾지 못한 체크 아웃에서 단순히 디렉토리를 제외시키는 마법 같은 방법이 있습니까? (분명히 존재하지 않을 것입니다.)

물론, 항상 포기하고, 총알을 물고, 8 개의 쓸모없는 GB를 다운로드하는 옵션이 있습니다.

당신의 의견은 무엇입니까? 전에이 문제가 발생 했습니까? 어떻게 그걸 해결 했니?

답변

0

Subversion의 레이아웃이 프로덕션 환경에서 배포하는 것과 일치해야한다는 것은 아무 것도 없습니다. 당신은 가장 쉽고 최상의 솔루션을 선택했습니다 - 큰 파일을 다른 저장소로 옮깁니다 (또 다른 장점은이 구조를 분기 할 때 거대한 파일을 분기하지 않을 것임). 그런 다음 배포 스크립트를 업데이트하여 하나의 저장소가 아닌 두 개의 저장소 위치에서 가져와 파일을 프로덕션의 올바른 위치에 배치하면됩니다.

아직 배포 스크립트가없는 경우 지금 작성하십시오. 두 개의 저장소 (두 저장소에서 끌어 오기위한 svn 명령) 만 포함되어 있어도 매번 명령을 입력해야하는 것보다 한 명령에서 모든 것을 수행하는 스크립트를 갖는 것이 좋습니다. 또한 서버를 다시 부팅하기 전에 내용에 대한 테스트를 실행하는 것이 좋습니다. 따라서이 테스트는 배포 스크립트에도 포함될 수 있습니다.

+0

분기가 잘못 되었습니까? mysql은 브랜딩에 실제로 파일을 복사하지 않는다. ps : 날짜가 표시되지 않았습니다. 왜이 스레드가 부딪 혔습니까?! – zerkms

+0

@zerkms : 나는 "svn이 물리적으로 복사하지 않는다"는 것을 의미한다고 가정합니다 ... 그렇습니다. 서버에는 없지만 클라이언트는 여전히 여분의 디스크 비용을 부담하게됩니다. 세 가지 다른 브랜치가 내 컴퓨터에서 코드 작업을 위해 체크 아웃했다. 브랜치가 큰 바이너리가있는 경우 별도의 브랜치로 분리 된 경우에만 내 컴퓨터에 해당 파일을 3 부 복사한다. . – Ether

+0

아, 그렇습니다, 참으로. 그 코멘트에 대해 유감스럽게 생각합니다. – zerkms

0

나는 당신의 고통을 느낍니다. 나는 한 번 체크 아웃이 20GB 인 프로젝트에서 일했습니다. 트렁크와 세 지점에서 동시에 작업하면 내 HD가 채워집니다. 그게 싫어.

당신은 저장소에있는 두 개의 폴더, 모든 사람들에게 흥미로운 모든 것들이 들어있는 하나의 ("main"), 대부분의 사람들이 쓰는 8GB의 것들을 담고있는 다른 ("big" 신경 쓰지 마. "big"폴더는 외부를 사용하여 "main"을 참조합니다.

 
/
-/main 
--file.aspx 
--anotherFile.aspx 
--/coolThings 
----coolThing.aspx 
----... 
-/big 
--/bigFolder 
----someHugeMovie.mov 
----someHugeSound.mp3 
--/anotherBigFolder 
-/everything 

대부분의 사람들은 "메인"을 체크 아웃합니다.어떤 사람들은 "크게"체크 아웃하고 외부를 통해 "메인"도 얻을 것입니다.

태그가 지정된 버전의 외부를 특정 버전으로 페치하려는 경우 외부 태그를 사용할 때는주의해야합니다.

관련 문제