2011-08-30 5 views
0

큰 파일 (비디오 파일)에 버전 컨트롤러를 사용하고 싶습니다. 그리고 파일을 수정하고 여러 번 체크인하고 싶습니다. 자식을 사용하면 체크인 할 때마다 파일 내용이 저장됩니다. 저장 공간을 절약 할 수 있도록 수정 된 파일의 차이 만 저장할 수있는 도구가 있습니까? (전체 파일을 저장하고 싶지는 않습니다. 때마다 내가 체크인 할 때)큰 비디오 파일을 저장하는 데 적합한 버전 제어 소프트웨어

나는 git - media를 거쳤다. 체크인 할 때마다 전체 내용을 저장할 것입니다. git annex도 git - media와 비슷하게 작동합니다.

감사합니다.

+0

잘 모르겠지만 공간 제한이 있습니까? 어쨌든, 당신은 파일의 관리 유형을 강제 할 수 있습니다 (바이너리를 텍스트로 관리하고 diff를 수행하십시오). 어쩌면 당신은 git에 넣는 것보다 다른 방법을 찾을 수 있습니다. 그것은 많은 것을 느리게 할 것이다 (왜냐하면 자식은 파일을 검사하기 위해 sha1 해시를 수행하기 때문이다 ...) – ykatchou

+0

답장을 보내 주셔서 감사합니다. 바이너리를 텍스트로 관리하고 diff를 수행하는 방법을 알고 싶습니다. –

+0

git gc를 실행하면 git가 diff 만 저장합니다. –

답변

0

단순히 이진 파일을 처리 할 수있는 SVN을 사용할 수 있습니다.

2

자주 바뀌는 바이너리 파일을 저장하는 경우 (나는 당신의 경우 인 것처럼 보입니다.), Git보다 SVN을 추천합니다. 델타 만 저장합니다. 힘내 (Git)에 대한 필자의 관찰은 자주 바뀌는 큰 바이너리 파일을 처리하지 못한다는 것이다. repo 크기가 올라가고, 복제하는 등 많은 시간을 소비합니다. packfiles에도 불구하고,이 시점에서 git는 델타를 저장하고 repo를 gcing합니다.

다음은 다시 소스 코드 제어 소프트웨어로 주로 설계되었으며, SVN (및 Git)은 바이너리 파일을 처리하지만 실제로 사용 사례는 아닙니다.

2

이것은 두 개의 비디오 파일 간의 차이를 시스템이 얼마나 잘 표현할 수 있는지에 달려 있습니다. 두 개의 비디오 파일의 차이점은 비디오 파일의 저장 방법에 달려 있습니다.

대부분의 버전 제어 시스템은 이진 파일을 처리 할 수 ​​있습니다. 그들은 그것들을 얼마나 잘 다룰 지에 따라 다릅니다. 아마 일부는 각 버전을 완전히 포기하고 저장할 것입니다.

아마도 압축 형식을 사용하고 있습니다 (즉, 모든 프레임의 모든 픽셀이 명시 적으로 저장되지는 ​​않음). 비디오가 X이고 비디오를 약간 변경하여 Y을 생성하는 경우 XY은 동일한 바이트 시퀀스를 길게 늘리거나 모든 것을 스크램블링하는 압축 구성표입니까? 전자의 경우, 괜찮은 이진 diff 알고리즘은 동일한 시퀀스를 찾아서 저장할 수 있어야합니다. 그렇지 않은 경우 비디오 형식의 내부를 특별히 인식하지 않는 한 이러한 알고리즘을 사용할 수 없습니다.

데이터를 매우 적극적으로 압축하지 않는 형식을 사용하면 실제로 더 나은 결과를 얻을 수 있으므로 비교 알고리즘이 작동 할 수있는 것이 남습니다. [EDIT : 이것은 내 부분에 대한 추측입니다. 나는 그것을 뒷받침 할 실제 데이터가 없다. 그러나 합리적인 추측처럼 보인다.]

나는 이것이 실제로 질문에 대답하지 않지만 아마도 당신이나 다른 누군가를위한 출발점을 제공 할 수 있다는 것을 알고있다.

관련 문제