2011-04-18 4 views
1

이전에 업데이트 한 프로젝트가있는 Subversion 저장소가 있습니다. (.net 4.0 및 새로운 비주얼 스튜디오로 전환 함) 그러나 클라이언트는 변경 준비가되지 않았으므로 약간 이전 버전의 프로젝트를 체크 아웃하고 약간 변경했습니다.Subversion에 overtop "최신"개정판을 강제 적용

Subversion은 구식이기 때문에 새 변경을 적용하지 않습니다. 이 동작을 이해할 수 있지만이를 무시하고 싶습니다. 어떻게해야합니까?

답변

1

이 제한을 "재정의하는"것이 바람직한 결과를 산출하는지 확실하지 않습니다. 문제는 이전 버전과 지금의 변경 사항으로 무엇을하고 싶습니까?

당신은 단지 그들을 제거하려면 :

  • 역방향 다시 원하는 개정에 모든 방법을 병합합니다.
  • 역 병합을 수행하십시오.
  • 변경을 수행하고 거기에서 작업하십시오.

당신이 지점에 보내려면 :

  • 지점을 이전 버전에서.
  • 해당 개정판의 변경 사항 범위를 현재 개정판에 분기로 병합하고 커밋하십시오.
  • 위의 세 단계를 수행하십시오.

당신은 일어날 필요가 무엇인가와 같은 트렁크에 보관하기를 원하지만 단지 생산 클라이언트에 대한 빠른-추적 새 변경하려면 다음

  • 지점 이전 버전에서 끕니다.
  • 변경하십시오.
  • 해당 지점의 해당 개정판에서 배치하십시오.
  • 브랜치의 변경 범위를 다시 트렁크에 병합하고 계속 작업하십시오.

는 기본적으로 당신이 찾고있는 무슨을 포함하는 것이 있습니까? 아니면 내가 너를 어딘가에서 잘못 해석 한거야? SVN과 같은 것들이 약간의 고통이 될 수 있습니다. 그러나 SVN이 당신에게 SVN을 속이기보다 낫기를 바란다. 후자는 장기적으로 더 많은 두통을 일으킬 것입니다.

+0

역 병합은 어떻게합니까? – Malfist

+0

@Malfist : 명령 행에서 병합에 대한'-r' 플래그라고 생각합니다. http://stackoverflow.com/questions/5678409/managing-svn-commits-and-revision/5678459#5678459 – David

+0

@Malfist : 여기에 몇 가지 더 많은 정보를 참조 본질적으로 수행하는 모든 단지 뒤쪽으로, 병합을 수행 할 수 있습니다. 그래서 로컬 작업 카피는 리비전 1234에서 리비전 1233으로 바뀝니다. 리비전 1235에서 이러한 변경 사항을 확인하면 헤드가 본질적으로 하나의 리비전에 의해 버려집니다 (변경 내역은 여전히 ​​양호하지만 좋은 상태 임). – David

관련 문제