2011-03-28 4 views
0

나는/tmp/easton /에 2 개의 폴더와 1 개의 src와 2 개의 Webroot가있다. 이제/var/www/html/easton 폴더에서 svn 체크 아웃을 수행합니다.svn 분기 문제

이 두 가지를 가져온 후에 1. src (java 파일 포함) 2. Webroot (/ WEB_INF/classes)를 my/var/www/html/easton으로 가져 오십시오. 이것에 대해 나는 svn import/tmp/easton svn : // localhost/easton 저장소에있는 두 개의 폴더를 만든다.

이제 웹 루트 디렉토리를/var/www/html/easton으로 체크 아웃해야합니다. 그에 대한 내가 CD의/var/www/html/이스턴 다음 svn의 공동 SVN으로 이동 : // localhost를/이스턴/웹 루트

지금 여기의 웹 루트 디렉토리를 생성/VAR에/www /에서 HTML/이스턴 .

내 의심은 내가/var/www/html/easton에 WebRoot 디렉토리를 만들고 싶지 않다는 것입니다. 모든 폴더를/var/www/html/easton에 복사하십시오.

내 WebRoot에있는 의 경우 두 개의 폴더 1. WEB-INF 2. pages가 있습니다. 그래서이 두 가지를/var/www/html/easton/WEB-INF..Pages에 복사하고 싶습니다.

도와주세요. 이것은 svn 브랜칭입니다. 내 로컬에서 명령을 실행하면/var/www/html/easton/.. 및/tmp/easton/src 및 WebRoot에서 소스 코드가 업데이트됩니다.

답변

0

Subversion (및 내가 알고있는 다른 모든 버전 제어 소프트웨어)은 소스 또는 데이터를 로컬에서 체크 아웃 한 디렉토리에 관심이 없습니다.

나는 약간 이해하기 어려운 것을 발견하지만 잘 이해한다면 다른 로컬 복사본 (다른 체크 아웃 된 디렉터리)에 대해 같은 방식으로 커밋 할 때 저장소를 수정하고 싶지는 않습니다. 그렇게하기 위해서 Subversion을 악용하여이 디렉토리에 데이터를 배포하려는 경우 Subversion에 몇 개의 관련 디렉토리가 실제로 필요합니다. (오용이라고 말하지만 부정적인 의미는 아닙니다. 파괴로 배포하면 삶이 편해집니다.)

다른 디렉토리에 완전히 다른 데이터가 포함되어 있다면 분기가 사용자를위한 것이 아니며 단지 Subversion에서 다른 디렉토리를 만들고 각 로컬 디렉토리 중 하나를 체크 아웃하십시오. (하지만 당신이 이미 알고있는 것 같아요)

이제는 쉬운 부분이 있습니다. Subversion 브랜칭은 사본을 만드는 것과 같습니다. 같은 서브 디렉토리에서 하나의 디렉토리를 분리하려면 다음이 필요합니다 :

  1. 지점은/디렉토리
  2. 스위치의 복사본을 생성 DirA는
  3. 해당 분기에 대한 변경을 해당 분기에 로컬 디렉토리 중 하나
  4. dirA
  5. 당신이 병합해야합니다에서 당신이 가지 점에서 새로운 내용으로 지점을 업데이트하려면 지금

을 (이러한 변경 사항은 분기로 이동합니다) dirA에 커밋합니다. 두 가지 모두에서 동일해야하는 부품에 대한 대안은 사용하는 것입니다. svn:externals

이 정보가 도움이 되었기를 바랍니다.