2012-09-20 1 views
15

가능한 중복 :
Which eclipse files belong under Version ControlEclipse 설정 (.settings)을 SVN으로 체크인해야합니까?

우리는 개발을위한 이클립스 IDE를 사용합니다. .settings 폴더에는 항상 변경 사항이 있습니다. 때로는 Eclipse에서 무언가를 구성하는 경우가 있지만 대개 Eclipse에서 변경합니다.

Eclipse는 우리의 요청없이 설정을 변경합니까 ??

.settings의 모범 사례는 무엇입니까?

SVN에서 Eclipse 설정 (.settings)을 확인하거나 무시 목록에 추가해야합니까?

+2

maven을 사용하고있는 것 같습니다. [다른 질문에 따라] (http://stackoverflow.com/questions/12513277/how-can-i-configure-checkstyle-in-maven). 그렇다면 전체 빌드 구조가 pom 파일에 정의되어 있으므로'.settings'를 체크 인 할 필요가 없습니다. – maba

+0

@maba 예 maven을 사용 중입니다 .. – Kayser

답변

20

.settings 디렉토리에는 –이 포함되어 있거나 최소한 –이 있어야합니다. 소스 코드, Java 컴파일러 설정 등에 사용되는 문자 인코딩과 같이 Eclipse에서 프로젝트를 성공적으로 빌드하는 데 필요한 중요한 정보가 있어야합니다. 이 디렉터리를 SCM에 커밋하지 않으면 대부분의 경우 새 작업 영역으로 프로젝트를 체크 아웃하고 즉시 컴파일 할 수있는 기능을 잃게됩니다. 특히 민감한 부분은 컴파일러 오류/경고의 정확한 구성입니다. 개발자가 이러한 설정을 잘못하면 결과가 존재하지 않는 오류/경고를 "수정"하기 위해 코드를 손상시키는 Eclipse 빌드 실패로 인한 불만에서부터 개발자에게 영향을 미칠 수 있습니다.

각 플러그인은 자신의 설정 파일을 디렉토리에 제공 할 수 있으므로 아무 것도 선택하지 말고 관련없는 파일을 무시하고 org.eclipse.jdt.core.prefs과 같은 중요한 파일을 그대로 유지하십시오.

다른 사람들을 위해 빌드를 깨뜨릴 수있는 방식으로 프로젝트 별 설정을 어지럽히 지 않도록 조심해야합니다. 개인 환경 설정은 작업 공간 수준에서 전 세계적으로 변경되어야하므로이 구성은 팀원에게 전파되지 않습니다.

이론적으로 모든 사람이 프로젝트 별 설정을 다른 곳에서 가져와 절대 커밋하지 않아도되는 정책을 시행 할 수 있지만이 경로는 장점이 없으며 사용하기 쉬운 부서에서 분명히 열등합니다.

+0

알았어요. 설정이 아니라 Mycelipse 등에 속한 특정 파일 일 수도 있습니다. 맞습니까? – Kayser

+0

예, SCM에 가장 중요한 항목 ('org.eclipse.jdt. *'등)을 남기고 일부 시각화 구성 등을 유지하는 설정을 자유롭게 제외 시키십시오. –

+4

Maven 프로젝트 (pom.xml)를 올바르게 구성하고 Maven Eclipse 플러그인을 사용하여 자동으로이 파일을 생성하는 경우에는 실제로는 필요하지 않습니다. – torbinsky

2

필요가 없습니다,

서로 다른 사용자는 다른 설정과 설정을 고소하기 때문이다.

설정

텍스트 파일

+0

텍스트 파일이란 무엇입니까? – Kayser

0

당신은 최상의 구성을 생성하고 SVN에 넣을 수 있습니다 설명 할 수 있지만,이 문제의 지옥을 만듭니다. 누군가가 잘못된 설정을 커밋하고 모두가

  • 설정 구성 변경이 일어날 때마다 변경해야합니다 고통 않는다는 보장은 없습니다

    1. .

    어떤 사람에게는 아무 것도없는 사람이라면 참고할 수 있습니다.

  • 0

    똑 바른 대답은 아니오입니다. 이 파일은 결국 변경되지만 프로젝트 소스 코드 저장소는 개인 파일 설정을위한 것이 아닙니다.

    이 IDE 특정 파일을 실제로 넣어야하는 경우 프로젝트와 별도의 별도 SVN 폴더에 체크인하십시오.

    9

    빌드를 관리하는 데 maven을 사용하고 있으므로 실제로 .settings을 소스 제어하에 둘 필요는 없습니다.

    maven을 사용하면 Eclipse 설정에 종속되지 않고 다른 IDE를 사용할 수 있습니다.

    은 메이븐을 사용하는 것처럼 나는 확실히 더 말할 것 또한 Should Eclipse-specific files in an VCS be ignored, if using Maven?

    2

    참조하십시오. 작업 한 경험이있는이 파일을 커밋하면 다른 환경 (OSX/Windows/* nix, 파일 시스템 레이아웃)을 가진 사람들과 공동 작업하는 경우 문제가 발생합니다.

    아직 사용하고 있지 않다면 Maven Eclipse 플러그인 (http://maven.apache.org/plugins/maven-eclipse-plugin/)을 사용하여 자동으로 Eclipse 프로젝트 파일을 생성하는 것이 좋습니다.

    편집 :

    아마 가장 큰 이유는 내가 어떤 이클립스 프로젝트 설정/파일을 커밋 좋아하지 않아 언급 잊어 버렸 때문에 내 VCS 역사에 추가하는 혼란이다. 나는이 파일이 종종 이유 (예 : 환경 설정 파일 타임 스탬프 변경)에 따라 변경되며 추가 변경 사항을 추가하거나 최악의 경우에는 성가신 충돌을 일으키는 것으로 나타났습니다.

    +0

    제 경험상 명백한 이유없이 절대로 바뀌지 않습니다. 이것은 프로젝트가 무책임한 개발자의 손에 달린 경우에만 발생하지만이 경우 이미 많은 문제가 있습니다. JRE를 올바르게 설정하는 방법을 알고 있으면 환경 간의 차이가 존재하지 않습니다. Eclipse 프로젝트 내의 파일 시스템 레이아웃은 물론 항상 똑같습니다. Maven Eclipse Plugin의 경우 종속성을 관리하는 것이 유용합니다. 사실 내가 사용하는 Maven 기능을 처리 할 수 ​​없기 때문에 Maven Builder를 비활성화해야합니다. –

    +0

    "..이 파일은 분명히 이유없이 바뀌는 경우가 많습니다."당신은 절대적으로 옳습니다. – Kayser

    +0

    @ 카이저 이것들은 당신과 토르 빈스키의 아주 모호한 주장입니다. 당신은 파일을 편집하지 않았습니다. 그 정도는 사실입니다. 그러나 잠시 생각을 멈추거나 실제 diff 파일을 보면 변경 사항에 대한 정당한 이유를 찾아 낼 수 있습니다.당신은 오해의 여지가있는 플러그인을 사용하고 있을지 모르지만, 그때 당신은 config 파일을 무시하고,'org.eclipse.jdt.core.prefs'와 그와 비슷한 것을 남겨 두어야합니다. –