문제

개발 작업에 SVN을 사용하고 있지만 여전히 RCS로 관리되는 파일이 많습니다. 개인 SVN 저장소 작업 사본에서 편집하는 것이 합리적이지 않기 때문에 (종종 내장에서 가장 잘 테스트되는 구성 파일 일뿐입니다. ). 또한 SVN 제어하에 파일을 넣을 파일이 어디에 있든 저장소의 작업 사본을 갖는 것은 합리적이지 않으므로 대신 RC를 사용합니다.

이상적으로 이동하지 않아야하는 파일을 관리하는 데 대한 접근 방식은 무엇입니까 / 편집 및 테스트를 시작합니까?

더 정확하게 : 나는 동등한 것을 갖고 싶습니다.

  • 쓰기로 보호 된 file.txt가 있습니다
  • 편집 가능한 "co -l file.txt"(RCS)와 같은 명령
  • 제자리에 편집하고 즉시 테스트하는 기능
  • "ci -u file.txt"(RCS)와 같은 명령을 기록하려면 주석을 추가하고 다시 읽으십시오.
  • 다른 사용자는 같은 장소 에서이 작업을 수행 할 수 있어야합니다.
  • 그러나 버전 정보는 다른 서버에서 안전한 장소 (SVN 담당자)로 이동해야합니다.
도움이 되었습니까?

해결책

나는 다음과 같은 쓰기 파일 시스템 (COW)에 사본을 사용합니다. ext3cow (면책 조항, 저는 기여자 중 하나입니다) 많은 것을 관리합니다. 예를 들어:

  • 스냅 샷을 사용하여 어떤 종류의 종류에 관계없이 전체 저장소를 롤백합니다. 예를 들어, git 트리를 완전히 망치면 CP -dpfr ./@123456789 ./를 만들 수 있습니다.이 리포는 Epoch 123456789와 마찬가지로 내 작업 리포를 파일로 대체 할 수 있습니다.
  • 버전화 /스냅 샷을 자체 불변 VC로 사용하여 /etc 및 기타 사항에 이상적입니다. 과거의 파일을 삭제하거나 수정할 수 없으므로 각 스냅 샷은 단일 파일 또는 전체 트리의 불변의 개정입니다.

일반적으로 분산 VC를 선호하기 때문에 GIT 또는 Mercurial을 사용하지만 이제 버전의 FS에 저장소를 유지해야한다고 주장합니다.

Windows 사용자의 경우 Python에서 완전히 수행 된 휴대용 구현이 있지만 확실하지 않습니다.

다른 팁

전에 말했듯이 GIT 또는 Mercurial과 같은 DVC를 사용해야하는 SVN을 사용하려고합니다.

모든 사람은 자신의 저장소를 가질 수 있으며 MAIS Central Repo (SVN Repo와 같은)와 동기화 할 수 있습니다.

이것은 실제로 제가 자신의 프로젝트에서 사용하는 것입니다.

내가 얻지 못한 유일한 것은 당신이 자물쇠가 필요한 이유입니다. 파일을 읽을 필요가 없습니다. 당신은 아마도 SVN이 합병하는 방식 때문에 그런 식으로 생각하고있을 것입니다 (거의 항상 손으로해야합니다). git은 실제로 마법을하고 [1] 대부분의 합병은 인간의 개입없이 간다.

1] 좋아, 마법이 아니야. SVN은 파일에 관심이 있지만 Git은 코드 청크에 관심이 있습니다. 이 방법으로 정확히 동일한 코드 덩어리를 변경하지 않는 한 파일을 동시에 두 번 병합 할 수 있습니다.

Git, Mercurial 또는 Bazaar와 같은 현대적인 분산 버전 제어 시스템은 이와 같은 상황에서 가장 좋은 도구입니다. 분산 된 측면 때문이 아니라 (여기서는 중요하지 않음), 현장에서 저장소를 만들기가 매우 쉽기 때문입니다.

Mercurial에서는 그냥해야합니다.

cd ~/directory
hg init

git은 비슷합니다.

cd ~/directory
git init
git add .

모든 작업 사본은 완전한 저장소이며 원하는 경우 원격 서버로 백업으로 푸시 할 수 있습니다. 또한 모든 저장소 데이터는 단일 숨겨진 디렉토리에 저장되므로 톤의 문제를 피하십시오. .svn 모든 곳 주변의 디렉토리.

나는 Mercurial을 사용하여 관리합니다 /etc 내 서버에서 매우 편리하다고 생각합니다. 주목할만한 점은 파일을 읽기 전용 (RCS와 같은)으로 표시하지는 않지만 이것이 장점이라고 생각합니다.

SVN 리포지토리가 무료임을 알아야합니다. 원하는만큼 만들 수 있습니다.

또한 전체 저장소를 확인할 필요가 없다는 것을 알아야합니다. 당신은 말했습니다 :

또한 SVN 컨트롤에 넣을 파일이 어디에 있든 저장소의 작업 사본을 갖는 것은 합리적이지 않은 것 같습니다.

나는 당신이 실제로 무엇을하려고하는지 잘 모르겠지만, 당신이 SVN을 특이한 방식으로 사용한다는 인상을 받고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top