2010-03-16 2 views
0

지난 밤에 코드 저장소에서 정리 작업을 수행했습니다. 기본적으로/repo/trunk/repo/projectname/trunk로 코드가 이동되었습니다.Trac : SVN 저장소 경로를 변경 한 후 변경 집합이 손실되었습니다.

내 trac.ini의 repo 경로를 변경했습니다. 그 후 trac이 다시 동기화해야하는 저장소를 불평했습니다. 그래서 나는 달렸다 :

trac-admin /var/trac/projectname resync 

그리고 모두는 좋았다.

그런 다음 티켓에 대한 changesets를 확인한 결과 trac에 changesets에 대한 코드를 표시하는 링크가 더 이상 없다는 것을 알았습니다 - "저장소에 changeset XXX 없음"이라고 표시됩니다.

여기 누구든지 해결할 수 있었던 동일한 문제가 있었습니까? 변경 세트에 대한 끊어진 링크가 필요합니다. 무슨 짓을하는 쪽이다

svn mv <repobaseurl>/trunk <repobaseurl>/projectname/trunk 

그런 다음

repository_dir = /path/to/repo/projectname 

repository_dir = /path/to/repo 

에서 trac.ini 변경 :

당신이했던 것처럼

답변

2

나에게 소리 주셔서 감사합니다 oint Trac은 저장소의 하위 집합 ... 즉 저장소의 하위 디렉토리 projectname에 영향을주는 변경 집합 만 포함합니다. 이것을 일반적으로 "범위가 지정된"저장소라고합니다.

  1. 당신은 그것이 무엇에 다시 repository_dir을 변경할 수 있습니다 당신은 모든 변경 집합을 볼 것이며, 역사는 당신의 재구성을 통해 다시가는 볼 수 있습니다 :

    당신은 선택의 몇 가지가 있습니다. 간단한 수정.

  2. svndumptool.py을 사용하면 모든 변경 집합을 저장소의 루트 대신 항상 projectname 아래로 소급 이동하고 repository_dir을 그대로 남겨 둘 수 있습니다. 더 힘든 수정, 당신이 원하는 것조차되지 않을 수도 있습니다.
+0

자세한 설명을 읽어 주셔서 감사합니다. 나는 그것을 나의 오래된 repo 길로 되돌아 가게 지적했다. 그리고 그것은 일하는 것에 되돌아 간다. –