2010-02-17 8 views
1

내 개발 서버에서 svn 업데이트을 실행하여 버그 수정이나 웹 응용 프로그램 코드의 변경을 배포합니다. 일반적으로 나는 다음을 실행합니다 :Subversion 통증 완화를위한이 awk 스크립트의 대안은 무엇입니까?

svn stat --show-updates 

그리고 나서 업데이트 할 파일을 선택적으로 선택합니다. 선택된 파일을 svn update 명령 끝에 추가하십시오.

나는 GIT의 명령 행 인터페이스가 그리워지고 양보로서, 나는 단지 업데이트를 수행하는 속도를 향상시키고 싶지만 충돌이없는 파일로 제한한다.

다음 예에서, 난 단지 Country.properties

 *  5602 conf/country/Country.properties 
M   5331 conf/META-INF/MANIFEST.MF 
M  *  5451 conf/scripts/changes.rb 

이 나를 위해 트릭을 수행하는 AWK 조각입니다을 업데이트합니다.

#!/usr/bin/awk -f 

/*/ { if(NF == 3) { system("svn up " $3); } } 

내 질문 : -i 명령을 추가 GIT의 자식처럼 행동 할 것이다 전복의 확장이 있습니까? 아니면 사람들이 내가하는 일을하는 것이 꽤 정상적인가요?

+0

중앙 저장소에서 업데이트 할 파일을 선택하는 것과 관련하여'git add -i'는 어떤 관련이 있습니까? – jamessan

+0

물론 맞습니다. git add -i는 어떤 파일을 repo에 추가/추가 할지를 결정합니다. –

+0

이상하게 들립니다. 레포에있는 파일들이 당신과 충돌하지 않기 때문에, 그것이 파일에 의존적이지 않다는 것을 의미하지는 않습니다. 일반적인 경우, 나는 SVN이 당신이 그와 같은 리비전의 부분을 "cherry-pick"으로 기대한다고 생각하지 않습니다. – unwind

답변

1

정확하게 이해한다면 대화식 UI (라 git add -i)를 사용하여 작업 저장소에서 어떤 파일을 중앙 저장소에서 업데이트 할 것인지 선택할 수 있습니다. 그렇다면, unwind의 의견에 동의해야합니다. 일반적으로 (VCS가 사용되는 것과 관계없이) 부분적인 트리 업데이트는 수행하지 않아야합니다. 따라서 원격으로 변경된 파일 세트를 시작 기지로 사용하는 부분 업데이트는 물론 부분 업데이트를 쉽게 수행 할 수있는 SVN UI를 본 적이 없다고 생각합니다.