2010-02-01 9 views
0

OK, 파일에 $ Revision $을 넣을 수 있고 그 파일에 svn : keywords 속성을 설정하여 파일이 커밋 될 때마다 해당 변수가 마지막으로 커밋 된 버전 번호로 바뀌도록 할 수 있습니다.수정 된 파일 이외의 파일에서 SVN 키워드 대체를 어떻게 업데이트합니까?

이 개념을 사용하여 템플릿 파일의 스마트 캐싱 계층을 구현하고 싶습니다. 나는 캐시에서 찾는 열쇠의 일부로 svn 개정 번호를 사용할 계획이다. 여기

일부 사이비 코드입니다 : 캐치는

function get_from_cache(){ 
    $key = 'TEMPLATE_CACHE_$Revision$'; 
    $template = apc_fetch($key); 
} 

, 나는 $ 수정 $ 현재 개정 번호와 파일이 템플릿/디렉토리에 최선을 다하고 있습니다 때마다 교체해야 할,하지 때마다 A를 get_from_cache() 함수가 들어있는 파일이 커밋됩니다. 어떻게해야합니까?

답변

1

키워드로이를 수행 할 수 없습니다. 대신, 일부 스크립팅을 사용하여 작업 복사본의 마지막 버전 또는 svn 서버의 마지막 버전을 검색하고 get_from_cache() 기능을 포함하는 스크립트 파일에서 대체 할 수 있습니다.

각 커밋 후에 해당 폴더의 최신 버전을 게시하고 어떤 방식으로이를 검색 할 수있는 커밋 후크를 설정할 수도 있습니다.

+0

필자는 최신 개정 번호를 파일에 쓰고 실행 후 해당 파일을 읽는 후 커밋 훅을 사용할 수 있습니까? –

+0

예, 게시 커밋 후크는 전달 된 커밋의 리비전 번호를 가져옵니다. http://svnbook.red-bean.com/en/1.4/svn.ref.reposhooks.post-commit.html을 참조하십시오. – bluebrother

0

직접적으로 가능하지 않습니다. 템플릿을 업데이트 할 때마다이 파일의 업데이트를 스크립트로 작성할 수는 있지만 추한 것입니다 (또한 기록이 엉망이됩니다).

라이브 서버에서 업데이트를 수행하는 스크립트도 파일을 수정하거나 캐시를 명시 적으로 지우는 것과 같은 다른 작업을 수행하면 쉽게 동일한 효과를 얻을 수 있습니다.

+0

그러면 어떤 간접 방법을 사용할 수 있습니까? –

관련 문제