Windows 컴퓨터에서 TortoiseSVN을 사용하여 svn:externals
을 설정하려고합니다. 두 개의 프로젝트가 있으며 두 저장소가 이미 동일한 로컬 시스템에 작성되었습니다.SVN 설정 : Windows에서 TortoiseSVN을 사용하는 외관
현재 구조는 다음과 같습니다. 리포지토리의 경우 repoA
, repoB
, 작업 디렉토리 (체크 아웃)의 경우 workA
및 workB
을 만들었습니다.
저장소
Z : \의 repos \ repoA
Z : \의 repos \ repoB
작업 디렉토리
Z : \ 프로젝트 \ workA \ trunk \ core.php
Z : 프로젝트 \ \ workA \ 트렁크 \ lib 디렉토리 \ lib01.php
Z : \ 프로젝트 \ workB \ 트렁크 \의 core_mod.php
Z : 프로젝트 \ \ workB \ 트렁크 \ LIB \
(이 tags
및 branches
폴더는하지만이 간단한 질문을 유지하기 위해 생략됩니다.)
는 내가 달성하고자하는 것은이 경우에 workA\trunk\lib\
아래에있는 파일 (들)입니다은 workB\trunk\lib\
디렉토리에 자동으로 복사됩니다.
- 이
workA
을 검사하고repoA
에 할당workB
을 체크 아웃하고repoB
- Comitted
workA\trunk
폴더에 할당 다음과 같이 내가 무슨 짓을했는지이를 설정하기 위해서이며, 그래서
repoA
은 최신입니다. workB\trunk\lib
의 가져 오기 위치를 지정하려면workB
폴더를 마우스 오른쪽 버튼으로 클릭하고TortoiseSVN -> Properties
을 선택하십시오.- 는
New -> Externals
클릭 함과 New...
가Local path
양식 필드에./trunk/lib
를 입력 클릭했습니다.URL
필드의 경우file:///Z:/repos/repoA/trunk/lib
을 입력하십시오....
버튼을 누르면 repo-browser가 열리고 대상 폴더를 선택하는 데 도움이됩니다.- 는 설정 창을 닫습니다
Ok
를 몇 번 클릭했습니다. 나는 외부 설정이 완료되었다고 생각했다.파일 생성 - 는
Z:\Projects\workB\trunk\core_mod.php
오른쪽Z:\Projects\workB\trunk\
를 클릭하고workB
repoB
에를 COMIT하는SVN Comit
를 선택했습니다.
이 시점에서 lib01.php는 Z:\Projects\workB\trunk\lib
폴더로 자동으로 가져 오지만 아무 것도 복사되지 않습니다. 또한 workB\trunk
폴더를 마우스 오른쪽 버튼으로 클릭하여 SVN Update
을 시도했습니다. 그러나 workB\trunk\lib
폴더는 비어 있습니다.
상대 경로 ./trunk/lib
을 오해해야한다고 생각합니다. 나는 모른다. 제가 잘못하고있는 것을 지적 할 수 있다면, 인정 될 것입니다.
업데이트
도 6a -
이 나를 위해 사각 지대였다 REPO하는 작업 복사본 WorkB을 변경 커밋. 오른쪽에 Z:\Projects\workB
을 클릭하고 SVN Commit...
을 선택하면 다음과 같은 오류가 발생합니다. 확인 버튼을 클릭 한 후
즉시 나는 폴더를 업데이트하고 내가 확인을 클릭할지 여부를 묻는 대화 상자 창을 얻었다. 그런 다음 TortoiseSVN이 Z:\Projects\workB
을 업데이트하기 시작했으며이 오류가 발생했습니다. 그러나이 후에, 내가 Z:\Projects\workB
을 다시 할 때, 그것은 오류없이 끝났습니다.
는 (귀하의 경우 "트렁크/lib 디렉토리는"더 방탄 될 것입니다, 나는 가정한다). 나는
workB
폴더의Property
을 다시 선택하고svn:externals
의Edit
버튼을 클릭
덕분에, TortoiseSVN을 자동으로 trunk/lib
에 ./trunk/lib
을 수정합니다. 이제는 그렇게 될 것입니다.
6B
- RepoB (단지 빠른 방법)에 repobrowser와 테스트, 그 정의는 내가 바로Z:\repos\repoB
를 클릭하고TortoiseSVN -> repo-browser
을 선택하고 트렁크 폴더에 아래로 탐색
올바른 것입니다. 그것은 다음과 같습니다. 그것은 옳은가? 나는 결코이 일을 해 본 적이 없기 때문에 나는 정말로 모른다. 트렁크 폴더 아래의 lib 폴더는 repo-browser에서 비어 있습니다.
Z:\Projects\workB\trunk\lib
폴더는 여전히 비어 있습니다. 오류 메시지는 'Z : \ Projects \ workB'를 재배치하라는 메시지를 나타내지 만 그 의미가 확실하지 않습니다.RepoB (단지 빠른 방법)에 repobrowser와 테스트, 그 -
6B
및 하나의 선택 체크 포인트를 REPO하는 작업 복사본 WorkB을 변경 커밋 -
리포-의해 Broswer 보여 ** 트렁크 내부에 두 개의 ** LIB 폴더 - 하나의 외부 및 하나의 실제 (불필요) - 문제 다. repo의 현재 상태를보기 위해 트렁크 (완전히 재귀 적으로 외부로) 체크 아웃 –
'Repo-Broswer는 트렁크 안에 두 개의 lib 폴더를 보여줍니다. 하나는 외부 파일이고 다른 하나는 진짜 (필요 없음) - 문제입니다. . 감사. repo-browser에서 실제'lib' 폴더 인'Z : \ Projects \ workB \ trunk \ lib'을 지우고'Z : \ Projects \ workB'에서'SVN Update'를 수행했습니다. 이제'Z : \ Projects \ workB \ trunk \ lib \ lib01.php'이 자동으로 생성되었습니다. 이것은 해결할 정말로 긴 여정이었습니다. – Teno