[svn] “svn update”명령을 실행하기 전에 저장소에서 업데이트되는 내용을 확인하는 방법은 무엇입니까?

Eclipse에서 SVN 저장소에 대한 수많은 파일의 변경 사항을 커밋했습니다.

그런 다음 저장소에서 해당 디렉토리로 이러한 변경 사항을 업데이트하려는 Linux 상자의 웹 사이트 디렉토리로 이동합니다.

“svn update project100″이라고 말하고 “project100″아래의 디렉토리를 모든 추가 및 변경된 파일 등으로 업데이트합니다.

그러나 내가하지 않은 변경 사항을 반드시 업데이트하고 싶지는 않습니다. 그래서 저는 “svn status project100″이라고 말할 수 있다고 생각했지만 이렇게하면 완전히 다른 변경 목록이 표시됩니다. 목록에 내 항목이 하나도 없습니다. 이상합니다.

따라서 내 변경 사항 만 웹 디렉토리에 업데이트되도록하려면 변경 사항이있는 모든 디렉토리로 이동하고 해당 파일 만 명시 적으로 업데이트해야합니다 (예 : “svn update newfile1.php”등). 지루합니다.

누구든지 여기에서 표준 작업 절차에 대해 설명 할 수 있습니까? 즉, “svn update”명령을 실행하기 전에 수행 될 모든 변경 사항의 정확한 목록을 어떻게 얻을 수 있습니까? “status”명령이라고 생각했습니다.



답변

시험:

svn status --show-updates

또는 (동일하지만 더 짧음) :

svn status -u


답변

로컬 작업 복사본을 업데이트하지 않고 작업 복사본과 최신 svn 서버 저장소간에 알고 싶은 내용에 따라 다음을 수행 할 수 있습니다.

svn 서버 저장소에서 변경된 사항을 알고 싶다면 다음 명령을 실행하십시오.

$ svn st -u

로컬 작업 복사본과 svn 서버 저장소 모두에서 동일한 파일이 수정되었는지 확인하려면 다음 명령을 실행하십시오.

$ svn st -u | grep -E '^M {7}\*'

특정 개정판과 HEAD 사이에 변경된 파일 목록을 얻으려면 다음 명령을 실행하십시오.

$ svn diff -r revisionNumber:HEAD --summarize

특정 개정판 사이에 변경된 파일 목록을 얻으려면 다음 명령을 실행하십시오.

$ svn diff -r revisionNumber:anotherRevisionNumber --summarize

실제로 업데이트하지 않고 업데이트 할 내용을 보려면 다음 명령을 실행하십시오.

$ svn merge --dry-run -r BASE:HEAD .

작업 복사본과 비교하여 svn 서버 저장소에서 특정 파일의 내용이 변경되었는지 알고 싶다면 다음 명령을 실행하십시오.

$ svn diff -r BASE:HEAD ./pathToYour/file

작업 복사본과 비교하여 svn 서버 저장소에서 모든 파일의 내용이 변경되었는지 알고 싶다면 다음 명령을 실행하십시오.

$ svn diff -r BASE:HEAD .


답변

다음을 실행하여 실제로 업데이트하지 않고 업데이트 할 내용을 확인할 수 있습니다.

svn merge --dry-run -r BASE:HEAD .

자세한 내용은 여기를 참조 하세요 .


답변

이것이 제가 찾던 것입니다. 먼저 Google을 확인했지만 svn help결국 나를 위해 왔습니다 🙂

svn diff -r BASE:HEAD .


답변

동일하지만 더 짧습니다. 🙂 :

svn st -u


답변

‘svn diff’를 사용하여 작업 복사본과 저장소의 차이점을 확인할 수 있습니다.


답변

이론적으로는 자신의 용도로 만든 브랜치에서 모든 변경을 수행 할 수 있습니다. 그런 다음 당신은 그것에 헌신하는 유일한 사람이라는 것을 합리적으로 확신 할 것입니다.

IMHO 기능 개발은 이렇게해야합니다.

그런 다음 트렁크 대신이 분기에서이 대상 시스템을 업데이트 할 수 있습니다.