it-swarm-ko.tech

SVN을 중단하지 않고 drush가있는 모듈을 업데이트 하시겠습니까?

맞아, 이틀 동안 나를 깨뜨렸다. 어디서나 답을 얻을 수 없습니다!

서버에서 4.4를 돌진했습니다. Unfuddle.com을 통해 SVN을 사용하고 있습니다. 사이트가 있는데 많은 모듈을 업데이트하고 싶습니다. 코드 만 업데이트 한 다음 작동하는지 확인하고 (이 시점에서 DB 업데이트는 문제가되지 않습니다) 관련 코드를 커밋하십시오.

예전에는 drush dl이 모듈 코드를 제거하지 않고 기존 모듈의 상단에 모듈 코드를 다운로드하기 만했습니다. 그것은 더 이상 사실이 아닙니다. 이제 AFAICT, drush는 모듈 디렉토리를 제거하고 최신 버전으로 바꿉니다. 업데이트 된 모듈에 더 이상 남아 있지 않은 오래된 파일의 문제를 해결하기 때문에 모든 것이 좋습니다.

그러나 drush dl 또는 upc 명령을 사용하면이 명령을 실행하면 실제로 최신 버전을 얻지 만 프로세스의 SVN 데이터 폴더가 파괴되어 "! module/file.php"문제가 발생합니다. 더 이상 존재하지 않는 파일.

"drush upc/dl modulename --version-control = svn"은 작동하지만 작동하지 않는 것이 좋습니다. SVN 데이터는 여전히 파괴됩니다.

Svn del module, svn commit -m "Removed module", drush dl module, (모듈 테스트), svn add 모듈, svn commit -m "Added module"-모든 단일 항목에 대한 잠재적 악몽 총 공포 인 모듈.

변경 사항을 자동 커밋하도록 drush를 설정하고 싶지 않습니다. 변경 사항에 만족하면 변경 사항을 다운로드하고 마지막에 모두 수동으로 커밋하고 싶습니다. 이것은 cant 그렇게 어렵지만, 나는 그것을 작동시킬 수 없습니다.

나는 또한 git으로 옮기는 것이 (응용 프로그램은 git을 지원한다는 것을 알고 있습니다!)도 해결책이지만 즉각적인 방법은 아니며 현재로서는 만족스럽지 않습니다.

누구든지 이것에 대해 약간의 빛을 비출 수 있습니까?!

8
NikLP

이 명령을 실행하면 실제로 최신 버전을 얻지 만 프로세스에서 SVN 데이터 폴더를 파괴하여 "! module/file.php"

Drush 4.4를 실행 중이며 이것은 사실이 아닙니다. drush upc 또는 drush up은 (는) .svn 디렉토리는 그대로입니다. svn status 모듈의 변경 사항을 검토하십시오. 새 파일은 ? 및 제거 된 파일은 !.

사이트 기능을 테스트하십시오. 모듈이 여전히 올바르게 작동한다고 만족하면 다음과 같은 스 니펫을 사용하여 svn 추가 ​​/ 제거 할 수 있습니다.

추가 :

svn status | grep '^\?' | cut -c8- | while read f; do svn add "$f"; done

제거 :

svn status | grep '^\!' | cut -c8- | while read f; do svn rm "$f"; done
6
jwal

--svnsync 명령에.

예 :

 drush pm-update module_to_update --version-control=svn --svnsync 
4
claire_