2009-02-05 5 views
12

내가 발견 한 것을 나는 자바 클래스 (및 소스 파일)의 이름을 바꾸거나 패키지 이름을 변경 (따라서 소스 파일 [S] 이동), 내가 할 수있는 중 하나를해야 할 필요가있을 때 :Eclipse Refactoring Tools를 사용하고 Subclipse를 통해 SVN과 동기화 상태를 유지하려면 어떻게해야합니까?

  1. 을 멋지고 유용한 Eclipse 리팩토링 도구를 사용하십시오. 모든 계단식 작업이 나와 함께 이루어지기 때문에 좋습니다. 그러나 Subversion으로 변경 사항을 다시 repo에 복제하는 데 어려움을 겪습니다.
  2. Subversion에서 이름 바꾸기/이동을 먼저 수행하고 내 로컬을 업데이트 한 다음 Eclipse의 리팩토링 도구가 작동하지 않습니다.

누구든지 바람직한 절차에 대해 조언 할 수 있습니까?

답변

10

1.4.x 릴리스부터 Subclipse가이를 잘 처리합니다. 버그가있는 경우 신고하십시오. 이전 릴리스에서는 일부 상황을 처리했지만 다른 상황은 처리하지 않았습니다. 이는 SVN 1.5에서 수정 된 Subversion 제한 때문이었습니다. 예를 들어 SVN 1.5 이전 버전에서는 폴더의 이름을 변경 한 경우 폴더가 커밋 될 때까지 폴더의 파일 이름을 바꿀 수 없었습니다. 이러한 종류의 모든 것들은 모두 매우 일반적인 리팩터링이었고 SVN이 그 길을 걸었습니다.

이제는 모두 잘 작동합니다.

마크

3

subversive을 사용해 보셨습니까? 리팩토링은 나와 함께 잘 작동하는 것 같습니다.

실제로, 나는 또한 subclipse를 시도해 보았습니다. 적어도 버전 1.4.7에서는 괜찮습니다. 방금 패키지와 클래스 이름 바꾸기를 시도했습니다. Eclipse는 이전 버전을 삭제 된 것으로 표시하고 새 버전을 추가하여 저장소에 추가되도록 예약합니다.

+0

안녕하세요. 나는 1.2. 무언가를 사용하고있다. 나는 업그레이드를 의미하지만 어떤 이유에서든 항상 번거로운 일입니다. – Nicholas

-1

Subclipse 이클립스에서 리팩터링 할 때 svn의 이동/이름 바꾸기를 처리합니다.

+2

그는 이미 설치되었다고 말했습니다. 질문 제목에 있습니다. –

4

'나는 그걸 보아라.'라고 말하고 싶지만 주제 줄에 Subclipse - Subclipse가 Eclipse의 리펙토링 도구와 통합되어 있기 때문에 싫어합니다. 파괴자도 그렇습니다. 클래스 이름을 바꾸면 'svn mv'가 실행됩니다. 수동으로 이러한 동작을 복제하려고 시도해서는 안됩니다.

Subclipse가 프로젝트에 연결되어 있지 않은지 궁금합니다. 프로젝트의 Subversion 프로젝트를 모른다면. 그러면 분명히 아무 것도하지 않을 것입니다.

Subclipse/Subversive ...를 사용하지 않는 경우 시작하십시오. :)

+0

Subclipse를 사용하고 있습니다 만, 어떤 이유로 리팩터링 할 때 SVN 명령을 실행하지 않습니다. 다른 "팀"작업은 실행될 때 콘솔에 표시되지만 리팩토링에는 표시되지 않습니다. 아마 그것은 구버전이거나, 어떻게 든 구식으로되어있을 것입니다. 응답 해 주셔서 감사합니다. – Nicholas