Show Menu
화제×

VLT 도구 사용 방법

Jackrabbit FileVault 도구(VLT)는 Apache Foundation에서 개발한 도구로서 Jackrabbit/AEM 인스턴스의 컨텐츠를 파일 시스템에 매핑합니다. VLT 도구는 소스 제어 시스템 클라이언트(예: Subversion(SVN) 클라이언트)와 유사한 기능을 가지며 일반적인 체크 인, 체크 아웃 및 관리 작업과 프로젝트 컨텐츠를 유연하게 표시하기 위한 구성 옵션을 제공합니다.
명령줄에서 VLT 도구를 실행합니다. 이 문서에서는 시작하기 및 도움말, 모든 명령 및 사용 가능한 옵션 목록 등 도구를 사용하는 방법에 대해 설명합니다.

개념 및 건축

Filerabbit 도구의 개념과 구조에 대한 자세한 내용은 공식 Apache Jackrabbit Filerabault 설명서의 Filerabbit Overview 및 Vault FS 페이지를 참조하십시오 index.html .

VLT 시작하기

VLT를 사용하려면 다음을 수행해야 합니다.
  1. VLT를 설치하고, 환경 변수를 업데이트하고, 무시된 전역 하위 버전 파일을 업데이트합니다.
  2. AEM 저장소를 설정합니다(아직 설정하지 않은 경우).
  3. AEM 저장소를 확인합니다.
  4. 보관소와 동기화
  5. 동기화가 작동하는지 테스트합니다.

VLT 도구 설치

VLT 도구를 사용하려면 먼저 설치해야 합니다. 추가 도구이므로 기본적으로 설치되지 않습니다. 또한 시스템의 환경 변수를 설정해야 합니다.
  1. Maven 객체 저장소에서 FileVault 아카이브 파일을 다운로드합니다.
    VLT 도구의 소스는 GitHub에서 사용할 수 있습니다.
  2. 아카이브 추출
  3. 명령 파일 <archive-dir>/vault-cli-<version>/bin 또는 PATH vlt vlt.bat 적절한 액세스 권한을 환경에 추가할 수 있습니다. 예:
    <aem-installation-dir>/crx-quickstart/opt/helpers/vault-cli-3.1.16/bin>
  4. 명령줄 셸을 열고 vlt --help 실행합니다. 출력물이 다음 도움말 화면과 유사한지 확인합니다.
    vlt --help
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Jackrabbit FileVault [version 3.1.16] Copyright 2013 by Apache Software Foundation. See LICENSE.txt for more information.
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Usage:
      vlt [options] <command> [arg1 [arg2 [arg3] ..]]
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    Global options:
    
      -Xjcrlog <arg>           Extended JcrLog options (omit argument for help)
      -Xdavex <arg>            Extended JCR remoting options (omit argument for help)
      --credentials <arg>      The default credentials to use
      --update-credentials     if present the credentials-to-host list is updated in the ~/.vault/auth.xml
      --config <arg>           The JcrFs config to use
      -v (--verbose)           verbose output
      -q (--quiet)             print as little as possible
      --version                print the version information and exit
      --log-level <level>      the log4j log level
      -h (--help) <command>    print this help
    
    
이 파일을 설치한 후 전역 무시된 하위 버전 파일을 업데이트해야 합니다. svn 설정을 편집하고 다음을 추가합니다.
[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
global-ignores = .vlt

줄 끝 문자 구성

VLT는 다음 규칙에 따라 EOF(End Of Line)를 자동으로 처리합니다.
  • Windows에서 CRLF
  • Linux/Unix에서 체크 아웃한 파일의 행(A) LF
  • 저장소에 연결된 파일 줄은 LF
VLT 및 SVN 구성이 일치하는지 보장하려면 보관소에 저장된 파일의 확장명에 svn:eol-style native 대한 속성을 설정해야 합니다. svn 설정을 편집하고 다음을 추가합니다.
[auto-props]
*.css = svn:eol-style=native
*.cnd = svn:eol-style=native
*.java = svn:eol-style=native
*.js = svn:eol-style=native
*.json = svn:eol-style=native
*.xjson = svn:eol-style=native
*.jsp = svn:eol-style=native
*.txt = svn:eol-style=native
*.html = svn:eol-style=native
*.xml = svn:eol-style=native
*.properties = svn:eol-style=native

저장소 체크 아웃

소스 제어 시스템을 사용하여 저장소를 확인합니다. 예를 들어 svn에 다음 사항을 입력합니다(URI 및 경로를 저장소로 대체).
svn co https://svn.server.com/repos/myproject

저장소와 동기화

You need to synchronize file with the repository. 이를 위해 진행되는 작업:
  1. 명령줄에서 로 이동합니다 content/jcr_root .
  2. 다음을 입력하여 저장소를 확인합니다(포트 번호 4502 및 관리자 암호 대체 ).
    vlt --credentials admin:admin co --force http://localhost:4502/crx
    
    
    자격 증명은 초기 결제 시 한 번만 지정해야 합니다. 그러면 홈 디렉토리에 저장됩니다 .vault/auth.xml .

동기화가 작동하는지 테스트

저장소를 체크 아웃하고 동기화하면 모든 것이 제대로 작동하는지 테스트해야 합니다. 이 작업을 쉽게 수행할 수 있는 방법은 .jsp 파일을 편집하고 변경 사항을 커밋한 후 변경 내용이 반영되는지 확인하는 것입니다.
동기화를 테스트하려면
  1. 다음으로 이동 .../jcr_content/libs/foundation/components/text .
  2. 편집 내용을 text.jsp 참조하십시오.
  3. 입력하여 수정된 파일 보기 vlt st
  4. 입력하여 변경 내용 보기 vlt diff text.jsp
  5. 변경 내용 커밋: vlt ci test.jsp Adobe
  6. 텍스트 구성 요소가 포함된 페이지를 다시 로드하고 변경 내용이 있는지 확인합니다.

VLT 도구 도움말

VLT 도구를 설치한 후 명령줄에서 도움말 파일에 액세스할 수 있습니다.
vlt --help
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Jackrabbit FileVault [version 3.1.16] Copyright 2013 by Apache Software Foundation. See LICENSE.txt for more information.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Usage:
  vlt [options] <command> [arg1 [arg2 [arg3] ..]]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Global options:
  -Xjcrlog <arg>           Extended JcrLog options (omit argument for help)
  -Xdavex <arg>            Extended JCR remoting options (omit argument for help)
  --credentials <arg>      The default credentials to use
  --update-credentials     if present the credentials-to-host list is updated in the ~/.vault/auth.xml
  --config <arg>           The JcrFs config to use
  -v (--verbose)           verbose output
  -q (--quiet)             print as little as possible
  --version                print the version information and exit
  --log-level <level>      the log4j log level
  -h (--help) <command>    print this help
Commands:
  export                   Export the Vault filesystem
  import                   Import a Vault filesystem
  checkout (co)            Checkout a Vault file system
  status (st)              Print the status of working copy files and directories.
  update (up)              Bring changes from the repository into the working copy.
  info                     Displays information about a local file.
  commit (ci)              Send changes from your working copy to the repository.
  revert (rev)             Restore pristine working copy file (undo most local edits).
  resolved (res)           Remove 'conflicted' state on working copy files or directories.
  propget (pg)             Print the value of a property on files or directories.
  proplist (pl)            Print the properties on files or directories.
  propset (ps)             Set the value of a property on files or directories.
  add                      Put files and directories under version control.
  delete (del,rm)          Remove files and directories from version control.
  diff (di)                Display the differences between two paths.
  rcp                      Remote copy of repository content.
  sync                     Control vault sync service
  console                  Run an interactive console
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

특정 명령에 대한 도움말을 보려면 help 명령을 입력하고 명령 이름을 입력합니다. 예:
vlt --help export
Usage:
 export -v|-t <arg>|-p <uri> <jcr-path> <local-path>

Description:
  Export the Vault filesystem mounted at <uri> to the local filesystem at <local-path>. An optional <jcr-path> can be specified in order to export just a sub tree.
  Example:
    vlt export http://localhost:4502/crx /apps/geometrixx myproject

Options:
  -v (--verbose)          verbose output
  -t (--type) <arg>       specifies the export type. either 'platform' or 'jar'.
  -p (--prune-missing)    specifies if missing local files should be deleted.
  <uri>                   mountpoint uri
  <jcr-path>              the jcr path
  <local-path>            the local path

VLT에서 수행되는 일반 작업

다음은 VLT에서 수행되는 몇 가지 일반적인 작업입니다. 각 명령에 대한 자세한 내용은 개별 명령을 참조하십시오.

하위 트리 체크 아웃

예를 들어 저장소의 하위 트리만 체크 아웃하려는 경우 다음을 입력하여 /apps/geometrixx 이를 수행할 수 있습니다.
vlt co http://localhost:4502/crx/-/jcr:root/apps/geometrixx geo

이렇게 하면 geo META-INF 디렉토리가 있는 새 내보내기 루트가 생성되며, jcr_root 아래에 있는 모든 파일이 /apps/geometrixx geo/jcr_root 에 저장됩니다.

필터링된 체크아웃 수행

기존 작업 영역 필터가 있고 체크 아웃에 사용하려는 경우 먼저 META-INF/vault 디렉토리를 만들어 필터를 배치하거나 다음과 같이 명령줄에 지정할 수 있습니다.
$ vlt co --filter filter.xml http://localhost:4502/crx/-/jcr:root geo

필터 예:
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
    <filter root="/etc/designs/geometrixx" />
    <filter root="/apps/geometrixx"/>
</workspaceFilter>

.vlt 컨트롤 대신 가져오기/내보내기 사용

제어 파일을 사용하지 않고도 JCR 저장소 및 로컬 파일 시스템 간에 컨텐츠를 가져오고 내보낼 수 있습니다.
컨트롤을 사용하지 않고 컨텐츠를 가져오고 내보내는 방법은 .vlt 다음과 같습니다.
  1. 처음 저장소 설정:
    $ cd /projects
    $ svn mkdir https://svn.server.com/repos/myproject
    $ svn co https://svn.server.com/repos/myproject
    $ vlt export -v http://localhost:4502/crx /apps/geometrixx geometrixx
    $ cd geometrixx/
    $ svn add META-INF/ jcr_root/
    $ svn ci
    
    
  2. 원격 복사본을 변경하고 JCR을 업데이트합니다.
    $ cd /projects/geometrixx
    $ vlt -v import http://localhost:4502/crx . /
    
    
  3. 원격 복사본을 변경하고 파일 서버를 업데이트합니다.
    $ cd /projects/geometrixx
    $ vlt export -v http://localhost:4502/crx /apps/geometrixx .
    $ svn st
    M      META-INF/vault/properties.xml
    M      jcr_root/apps/geometrixx/components/contentpage/.content.xml
    $ svn ci
    
    

VLT 사용

VLT에서 명령을 실행하려면 명령줄에 다음을 입력합니다.
vlt [options] <command> [arg1 [arg2 [arg3] ..]]  

옵션 및 명령은 다음 섹션에서 자세히 설명합니다.

VLT 글로벌 옵션

다음은 모든 명령에 사용할 수 있는 VLT 옵션 목록입니다. 사용 가능한 추가 옵션에 대한 자세한 내용은 개별 명령을 참조하십시오.
옵션
설명
-Xjcrlog <arg>
확장 JcrLog 옵션
-Xdavex <arg>
확장된 JCR 원격 옵션
--credentials <arg>
사용할 기본 자격 증명
--config <arg>
사용할 JcrFs 구성
-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 적게 인쇄
--version
버전 정보를 인쇄하고 VLT를 종료합니다.
--log-level <level>
로그 수준(예: log4j 로그 수준)을 나타냅니다.
-h (--help) <command>
해당 명령에 대한 도움말을 인쇄합니다.

VLT 명령

다음 표에서는 사용 가능한 모든 VLT 명령에 대해 설명합니다. 구문, 사용 가능한 옵션 및 예에 대한 자세한 내용은 개별 명령을 참조하십시오.
Command
약어 명령
설명
export
제어 파일 없이 JCR 저장소(저장소 파일 시스템)에서 로컬 파일 시스템으로 내보냅니다.
import
로컬 파일 시스템을 JCR 저장소(저장소 파일 시스템)로 가져옵니다.
checkout
co
저장소 파일 시스템을 체크 아웃합니다. 로컬 파일 시스템에 대한 초기 JCR 보관소에 이 저장소를 사용합니다. (참고:먼저 Subversion에서 저장소를 체크 아웃해야 합니다.)
analyze
패키지를 분석합니다.
status
st
작업 복사본 파일 및 디렉토리 상태를 인쇄합니다.
update
up
저장소의 변경 내용을 작업 복사본으로 가져옵니다.
info
로컬 파일에 대한 정보를 표시합니다.
commit
ci
작업 복사본에서 변경 내용을 저장소로 보냅니다.
revert
rev
작업 복사본 파일을 원래 상태로 복원하고 대부분의 로컬 편집 내용을 취소합니다.
resolved
res
작업 복사본 파일 또는 디렉토리에 대한 충돌 상태를 제거합니다.
propget
pg
파일 또는 디렉토리에 속성 값을 인쇄합니다.
proplist
pl
파일 또는 디렉토리에 속성을 인쇄합니다.
propset
ps
파일 또는 디렉토리에 대한 속성 값을 설정합니다.
add
파일 및 디렉토리를 버전 제어 하에 놓습니다.
delete
del 또는 rm
버전 제어에서 파일 및 디렉토리를 제거합니다.
diff
di
두 경로 간의 차이점을 표시합니다.
console
대화형 콘솔을 실행합니다.
rcp
하나의 원격 저장소에서 다른 저장소로 노드 트리를 복사합니다.
sync
저장소 동기화 서비스를 제어할 수 있습니다.

내보내기

<uri>에 마운트된 Vault 파일 시스템을 <local-path>의 로컬 파일 시스템으로 내보냅니다. 하위 트리만 내보내기 위해 선택적 <jcr-path>를 지정할 수 있습니다.

구문

export -v|-t <arg>|-p <uri> <jcr-path> <local-path>

옵션

-v (--verbose)
자세한 출력
-t (--type) <arg>
내보내기 유형을 플랫폼 또는 jar 중 하나로 지정합니다.
-p (--prune-missing)
누락된 로컬 파일을 삭제할지 여부를 지정합니다.
<uri>
mountpoint uri
<jcrPath>
JCR 경로
<localPath>
로컬 경로

vlt export http://localhost:4502/crx /apps/geometrixx myproject

가져오기

로컬 파일 시스템을 가져옵니다(의 볼트(Vault) 파일 <local-path> 시스템으로 시작합니다 <uri> . 가져오기 루트로 <jcr-path> 지정할 수 있습니다. 이 --sync 지정되면 가져온 파일은 자동으로 저장소 제어에 배치됩니다.

구문

import -v|-s <uri> <local-path> <jcr-path>

옵션

-v (--verbose)
자세한 출력
-s (-- sync)
로컬 파일을 저장소 제어
<uri>
mountpoint uri
<jcrPath>
JCR 경로
<localPath>
로컬 경로

vlt import http://localhost:4502/crx . /

체크아웃(co)

JCR 저장소에서 로컬 파일 시스템으로의 초기 체크 아웃을 수행합니다. 이 체크 아웃은 <uri>에서 <local-path>의 로컬 파일 시스템에 대한 것입니다. <jcrPath> 인수를 추가하여 원격 트리의 하위 디렉터리를 확인할 수도 있습니다. META-INF 디렉토리에 복사되는 작업 영역 필터를 지정할 수 있습니다.

구문

checkout --force|-v|-q|-f <file> <uri> <jcrPath> <localPath>  

옵션

--force
체크 아웃이 이미 존재하는 경우 로컬 파일을 덮어씁니다.
-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
-f (--filter) <file>
정의된 필터가 없을 경우 자동 필터를 지정합니다.
<uri>
mountpoint uri
<jcrPath>
(선택 사항) 원격 경로
<localPath>
(선택 사항) 로컬 경로

JCR Remoting 사용:
vlt --credentials admin:admin co http://localhost:8080/crx/server/crx.default/jcr_root/

기본 작업 영역 사용:
vlt --credentials admin:admin co http://localhost:8080/crx/server/-/jcr_root/

URI가 불완전한 경우 확장됩니다.
vlt --credentials admin:admin co http://localhost:8080/crx

분석

패키지를 분석합니다.

구문

analyze -l <format>|-v|-q <localPaths1> [<localPaths2> ...]

옵션

-l (--linkFormat) <format>
핫픽스 링크의 printf 형식(예: 이름,id) [CQ520_HF_%s|%s]
-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
<localPaths> [<localPaths> ...]
로컬 경로

상태

작업 복사본 파일 및 디렉토리 상태를 인쇄합니다.
지정된 --show-update 경우 각 파일이 원격 버전에 대해 확인됩니다. 그런 다음 두 번째 문자는 업데이트 작업으로 수행할 작업을 지정합니다.

구문

status -v|-q|-u|-N <file1> [<file2> ...]

옵션

-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
-u (--show-update)
업데이트 정보 표시
-N (--non-recursive)
단일 디렉토리에서 작동
<file> [<file> ...]
상태를 표시하는 파일 또는 디렉토리

업데이트

저장소의 변경 내용을 작업 복사본으로 복사합니다.

구문

update -v|-q|--force|-N <file1> [<file2> ...]

옵션

-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
--force
강제로 로컬 파일 덮어쓰기
-N (--non-recursive)
단일 디렉토리에서 작동
<file> [<file> ...]
업데이트할 파일 또는 디렉토리

정보

로컬 파일에 대한 정보를 표시합니다.

구문

info -v|-q|-R <file1> [<file2> ...]

옵션

-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
-R (--recursive)
재귀
<file> [<file> ...]
정보를 표시하는 파일 또는 디렉토리

커밋

작업 복사본에서 변경 내용을 저장소로 보냅니다.

구문

commit -v|-q|--force|-N <file1> [<file2> ...]

옵션

-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
--force
원격 사본이 수정되더라도 강제로 커밋합니다.
-N (--non-recursive)
단일 디렉토리에서 작동
<file> [<file> ...]
커밋할 파일 또는 디렉토리

되돌리기

작업 복사본 파일을 원래 상태로 복원하고 대부분의 로컬 편집 내용을 취소합니다.

구문

revert -q|-R <file1> [<file2> ...]

옵션

-q (--quiet)
가능한 한 빨리 인쇄
-R (--recursive)
반복적인 언급
<file> [<file> ...]
커밋할 파일 또는 디렉토리

해결됨

작업 복사본 파일 또는 디렉토리에 대해 충돌하는 상태를 제거합니다.
이 명령은 충돌을 의미있게 해결하거나 충돌 마커를 제거하지 않습니다.충돌 관련 아티팩트 파일만을 제거하고 PATH를 다시 커밋할 수 있습니다.

구문

resolved -q|-R|--force <file1> [<file2> ...]  

옵션

-q (--quiet)
가능한 한 빨리 인쇄
-R (--recursive)
반복적인 언급
--force
충돌 마커가 있어도 해결
<file> [<file> ...]
확인할 파일 또는 디렉토리

Propget

파일 또는 디렉토리에 속성 값을 인쇄합니다.

구문

propget -q|-R <propname> <file1> [<file2> ...]

옵션

-q (--quiet)
가능한 한 빨리 인쇄
-R (--recursive)
반복적인 언급
<propname>
속성 이름
<file> [<file> ...]
파일 또는 디렉터리를 사용하여

Proplist

파일 또는 디렉토리에 속성을 인쇄합니다.

구문

proplist -q|-R <file1> [<file2> ...]

옵션

-q (--quiet)
가능한 한 빨리 인쇄
-R (--recursive)
반복적인 언급
<file> [<file> ...]
파일 또는 디렉토리를 사용하여

Propset

파일 또는 디렉토리에 대한 속성 값을 설정합니다.
VLT는 다음과 같은 특수 버전 관리 속성을 인식합니다.
vlt:mime-type
파일의 MIME 유형입니다. 파일을 병합할지 여부를 결정하는 데 사용됩니다. 'text/'로 시작하는 MIMETYPE이나 누락된 MIMETYPE은 텍스트로 처리됩니다. 그 밖의 모든 것은 바이너리로 처리됩니다.

구문

propset -q|-R <propname> <propval> <file1> [<file2> ...]

옵션

-q (--quiet)
가능한 한 빨리 인쇄
-R (--recursive)
반복적인 언급
<propname>
속성 이름
<propval>
속성 값
<file> [<file> ...]
속성을 설정할 파일 또는 디렉토리

페이지 URL에

파일 및 디렉토리를 버전 제어 하에 두고 보관소에 추가할 수 있도록 예약합니다. 다음 커밋에 추가됩니다.

구문

add -v|-q|-N|--force <file1> [<file2> ...]

옵션

-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
-N (--non-recursive)
단일 디렉토리에서 작동
--force
작전을 실행하다
<file> [<file> ...]
추가할 로컬 파일 또는 디렉토리

삭제

버전 제어에서 파일 및 디렉토리를 제거합니다.

구문

delete -v|-q|--force <file1> [<file2> ...]

옵션

-v (--verbose)
자세한 출력
-q (--quiet)
가능한 한 빨리 인쇄
--force
작전을 실행하다
<file> [<file> ...]
삭제할 로컬 파일 또는 디렉토리

차이

두 경로 간의 차이점을 표시합니다.

구문

diff -N <file1> [<file2> ...]

옵션

-N (--non-recursive)
단일 디렉토리에서 작동
<file> [<file> ...]
파일 또는 디렉토리를 사용하여

콘솔

대화형 콘솔을 실행합니다.

구문

console -F <file>

옵션

-F (--console-settings) <file>
콘솔 설정 파일을 지정합니다. 기본 파일은 console.properties입니다.

Rcp

하나의 원격 저장소에서 다른 저장소로 노드 트리를 복사합니다. <src> 는 소스 노드를 가리키며, 상위 노드가 있어야 하는 대상 경로를 <dst> 지정합니다. Rcp는 데이터를 스트리밍하여 노드를 처리합니다.

구문

rcp -q|-r|-b <size>|-t <seconds>|-u|-n|-e <arg1> [<arg2> ...] <src> <dst>

옵션

-q (--quiet)
가능한 한 작게 인쇄하십시오.
-r (--recursive)
반복적으로 설명됩니다.
-b (--batchSize) <size>
중간 저장 전에 처리할 노드 수입니다.
-t (--throttle) <seconds>
중간 저장 후 대기할 시간(초)입니다.
-u (--update)
기존 노드를 덮어쓰기/삭제합니다.
-n (--newer)
업데이트에 대한 마지막 수정 속성을 존중합니다.
-e (--exclude) <arg> [<arg> ...]
제외된 소스 경로 등록.
<src>
소스 트리의 저장소 주소입니다.
<dst>
대상 노드의 저장소 주소입니다.

vlt rcp http://localhost:4502/crx/-/jcr:root/content  https://admin:admin@localhost:4503/crx/-/jcr:root/content_copy  

옵션 뒤에 --exclude <src> <dst> 인수 앞에 다른 옵션이 와야 합니다. 예:
vlt rcp -e ".*\.txt" -r

동기화

저장소 동기화 서비스를 제어할 수 있습니다. 인수 없이 이 명령은 현재 작업 디렉토리를 동기화 제어에 저장하려고 합니다. vlt 체크 아웃 내에서 실행되는 경우 해당 필터와 호스트를 사용하여 동기화를 구성합니다. vlt 체크 아웃 외부에서 실행되는 경우 디렉토리가 비어 있는 경우에만 동기화를 위해 현재 폴더를 등록합니다.

구문

sync -v|--force|-u <uri> <command> <localPath>

옵션

-v (--verbose)
자세한 출력입니다.
--force
특정 명령을 강제로 실행합니다.
-u (--uri) <uri>
동기화 호스트의 URI를 지정합니다.
<command>
sync 명령을 실행하여 실행합니다.
<localPath>
로컬 폴더를 동기화합니다.

상태 코드

VLT에서 사용되는 상태 코드는 다음과 같습니다.
  • ' ' 수정 없음
  • 'A' 추가됨
  • 'C' 충돌
  • 'D' 삭제됨
  • 'I' 무시
  • 'M' 수정됨
  • 'R' 대체
  • '?' 항목이 버전 제어되지 않음
  • '!' 항목이 없거나(svn이 아닌 명령으로 제거) 불완전함
  • '~' 버전 항목이 다른 종류의 항목으로 가려짐

FileVault 동기화 설정

저장소 동기화 서비스는 저장소 컨텐츠를 로컬 파일 시스템 표현과 동기화하거나 그 반대로 사용합니다. 저장소 변경 사항을 수신하고 파일 시스템 컨텐츠를 주기적으로 검사하는 OSGi 서비스를 설치하면 됩니다. 저장소 컨텐츠를 디스크에 매핑하기 위해 저장소 형식과 동일한 직렬화 형식을 사용합니다.
볼트(Vault) 동기화 서비스는 개발 도구이므로 생산적인 시스템에서 사용하는 것이 매우 어렵습니다. 또한 서비스는 로컬 파일 시스템과도 동기화할 수 있으며 원격 개발에 사용할 수 없습니다.

vlt를 사용하여 서비스 설치

vlt sync install 명령을 사용하여 저장소 동기화 서비스 번들 및 구성을 자동으로 설치할 수 있습니다.
번들은 아래에 설치되고 구성 /libs/crx/vault/install 노드는 에 생성됩니다 /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl . 처음에는 서비스가 활성화되었지만 동기화 루트가 구성되지 않았습니다.
다음 예제에서는 지정된 URI에서 액세스할 수 있는 CRX 인스턴스에 동기화 서비스를 설치합니다.
$ vlt --credentials admin:admin sync --uri http://localhost:4502/crx install

서비스 상태 표시

status 명령을 사용하여 실행 중인 동기화 서비스에 대한 정보를 표시할 수 있습니다."
$ vlt sync status --uri http://localhost:4502/crx
Connecting via JCR remoting to http://localhost:4502/crx/server
Listing sync status for http://localhost:4502/crx/server/-/jcr:root
- Sync service is enabled.
- No sync directories configured.

status 명령은 서비스에서 라이브 데이터를 가져오지 않고 의 구성을 읽습니다 /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl .

동기화 폴더 추가

register 명령은 구성에 동기화할 폴더를 추가하는 데 사용됩니다.
$ vlt sync register
Connecting via JCR remoting to http://localhost:4502/crx/server
Added new sync directory: /tmp/workspace/vltsync/jcr_root

register 명령은 sync-once 구성을 구성할 때까지 동기화를 트리거하지 않습니다.

동기화 폴더 제거

unregister 명령은 구성에서 동기화할 폴더를 제거하는 데 사용됩니다.
$  vlt sync unregister
Connecting via JCR remoting to http://localhost:4502/crx/server
Removed sync directory: /tmp/workspace/vltsync/jcr_root

폴더 자체를 삭제하려면 먼저 동기화 폴더의 등록을 취소해야 합니다.

동기화 구성

Service configuration

서비스가 실행되면 다음 매개 변수로 구성할 수 있습니다.
  • vault.sync.syncroots :동기화 루트를 정의하는 하나 이상의 로컬 파일 시스템 경로
  • vault.sync.fscheckinterval :파일 시스템을 검색하는 빈도(초)를 변경할 수 있습니다. 기본값은 5초입니다.
  • vault.sync.enabled :서비스를 활성화/비활성화하는 일반 플래그.
이 서비스는 웹 콘솔 또는 저장소의 sling:OsgiConfig 노드(이름 com.day.jcr.sync.impl.VaultSyncServiceImpl 포함)로 구성할 수 있습니다.
When working with AEM there are several methods of managing the configuration settings for such services; see Configuring OSGi for full details.

폴더 구성 동기화

각 동기화 폴더는 구성 및 상태를 세 개의 파일에 저장합니다.
  • .vlt-sync-config.properties :구성 파일.
  • .vlt-sync.log :동기화 중에 수행한 작업에 대한 정보가 들어 있는 로그 파일입니다.
  • .vlt-sync-filter.xml :저장소의 어떤 부분이 동기화되는지를 정의하는 필터입니다. 이 파일의 형식은 필터링된 체크 아웃 수행 섹션으로 설명됩니다.
.vlt-sync-config.properties 파일을 사용하면 다음 속성을 구성할 수 있습니다.
disabled 동기화를 켜거나 끕니다. 기본적으로 이 매개 변수는 동기화를 허용하도록 false로 설정됩니다.
sync-once 비어 있지 않으면 다음 검색에서 지정된 방향으로 폴더를 동기화하면 매개 변수가 지워집니다. 두 값이 지원됩니다.
  • JCR2FS :jcr 저장소의 모든 컨텐츠를 내보내고 로컬 디스크에 씁니다.
  • FS2JCR :디스크의 모든 컨텐츠를 JCR 저장소로 가져옵니다.
sync-log 로그 파일 이름을 정의합니다. 기본적으로 값은 .vlt-sync.log입니다

VLT 동기화를 사용하여 개발

동기화 폴더를 기반으로 개발 환경을 설정하려면 다음과 같이 하십시오.
  1. vlt 명령줄을 사용하여 저장소 체크 아웃:
    $ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
    
    
    필터를 사용하여 적절한 경로를 체크아웃할 수만 있습니다. 자세한 내용은 필터링된 체크아웃 수행 섹션을 참조하십시오.
  2. 작업 사본의 루트 폴더로 이동합니다.
    $ cd dev/jcr_root/
    
    
  3. 저장소에 동기화 서비스를 설치합니다.
    $ vlt sync install
    Connecting via JCR remoting to http://localhost:4502/crx/server
    Preparing to install vault-sync-2.4.24.jar...
    Updated bundle: vault-sync-2.4.24.jar
    Created new config at /libs/crx/vault/config/com.day.jcr.sync.impl.VaultSyncServiceImpl
    
    
  4. 동기화 서비스 초기화:
    $ vlt sync
    Connecting via JCR remoting to http://localhost:4502/crx/server
    Starting initialization of sync service in existing vlt checkout /Users/colligno/Applications/cq5/vltsync/sandbox/dev/jcr_root for http://localhost:4502/crx/server/-/jcr:root
    Added new sync directory: /Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root
    
    The directory /Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root is now enabled for syncing.
    You might perform a 'sync-once' by setting the
    appropriate flag in the /Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/.vlt-sync-config.properties file.
    
    
  5. 숨겨진 파일을 편집하고 .vlt-sync-config.properties 동기화를 구성하여 저장소의 컨텐츠를 동기화합니다.
    sync-once=JCR2FS
    
    
    이 단계에서는 필터 구성에 따라 전체 저장소를 다운로드합니다.
  6. 로그 파일에서 진행 상황을 .vlt-sync.log 확인합니다.
    ***
    30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/
    30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/core/
    30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/core/product/
    30.04.2017 14:39:10 A file:///Users/trushton/Applications/aem/vltsync/sandbox/dev/jcr_root/apps/geometrixx-outdoors/src/core/src/main/java/info/geometrixx/outdoors/core/product/GeoProduct.java
    ***
    
    
이제 로컬 폴더가 저장소와 동기화됩니다. 동기화는 양방향 동기화이므로 보관소의 수정 사항이 로컬 동기화 폴더에 적용되거나 반대로 적용됩니다.
VLT 동기화 기능은 간단한 파일 및 폴더만 지원하지만 특수 저장소 일련 번호가 지정된 파일(.content.xml, dialog.xml 등)을 감지하여 자동으로 무시합니다. 따라서 기본 vlt 체크아웃에서 저장소 동기화를 사용할 수 있습니다.