Instalação da ferramenta VLT
Para usar a ferramenta VLT, primeiro é necessário instalá-la. Ele não é instalado por padrão, pois é uma ferramenta adicional. Além disso, é necessário definir a variável de ambiente do sistema.
-
Baixe o arquivo de arquivo FileVault no Repositório de artefatos Maven.
NOTE
A origem da ferramenta VLT é disponível no GitHub.1. Extraia o arquivo morto.
-
Adicionar
<archive-dir>/vault-cli-<version>/bin
ao seu ambientePATH
de forma que o comandovlt
ouvlt.bat
são acessadas conforme apropriado. Por exemplo:<aem-installation-dir>/crx-quickstart/opt/helpers/vault-cli-3.1.16/bin>
-
Abra um shell de linha de comando e execute
vlt --help
. Certifique-se de que a saída seja semelhante à seguinte tela de ajuda: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
Após instalá-lo, é necessário atualizar os arquivos de subversão globais ignorados. Edite as configurações svn e adicione o seguinte:
[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
Configurar o caractere de fim de linha
O VLT trata automaticamente o Fim da Linha (EOF) de acordo com as seguintes regras:
- linhas de arquivos com check-out no Windows end com um
CRLF
- linhas de arquivos com check-out no final do Linux/Unix com um
LF
- linhas de arquivos comprometidos com o repositório terminam com uma
LF
Para garantir que a configuração de VLT e SVN seja correspondente, você deve configurar a variável svn:eol-style
propriedade para native
para a extensão dos arquivos armazenados no repositório. Edite as configurações svn e adicione o seguinte:
[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
Fazendo check-out do repositório
Confira o repositório usando o sistema de controle de origem. Em svn, por exemplo, digite o seguinte (substituindo o URI e o caminho pelo seu repositório):
svn co https://svn.server.com/repos/myproject
Sincronização com o Repositório
Você precisa sincronizar o filevault com o repositório. Para fazer isso:
-
Na linha de comando, navegue até
content/jcr_root
. -
Verifique o repositório digitando o seguinte (substituindo o número da porta por 4502 e suas senhas de administrador):
vlt --credentials admin:admin co --force http://localhost:4502/crx
NOTE
As credenciais devem ser especificadas apenas uma vez no check-out inicial. Eles serão armazenados no seu diretório inicial dentro.vault/auth.xml
.
Testando se a sincronização funcionou
Depois de fazer check-out do repositório e sincronizá-lo, você deve testar para garantir que tudo funcione corretamente. Uma maneira fácil de fazer isso é editar uma .jsp e veja se as alterações são refletidas após confirmar as alterações.
Para testar a sincronização:
- Vá até
.../jcr_content/libs/foundation/components/text
. - Editar algo em
text.jsp
. - Veja os arquivos modificados digitando
vlt st
- Veja as alterações digitando
vlt diff text.jsp
- Confirme as alterações:
vlt ci test.jsp
. - Recarregue uma página contendo um componente de texto e veja se suas alterações estão lá.
Obter ajuda com a ferramenta VLT
Depois de instalar a ferramenta VLT, você pode acessar seu arquivo de Ajuda na linha de comando:
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
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Para obter ajuda sobre um comando específico, digite o comando help seguido do nome do comando. Por exemplo:
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
Tarefas comuns executadas em VLT
Veja a seguir algumas tarefas comuns executadas no VLT. Para obter informações detalhadas sobre cada comando, consulte o comandos.
Fazendo check-out de uma subárvore
Por exemplo, se você quiser verificar apenas uma subárvore do repositório, /apps/geometrixx
, você pode fazer isso digitando o seguinte:
vlt co http://localhost:4502/crx/-/jcr:root/apps/geometrixx geo
Isso cria uma nova raiz de exportação geo
com um META-INF
e jcr_root
e coloca todos os arquivos abaixo /apps/geometrixx
em geo/jcr_root
.
Execução de um Check-out Filtrado
Se você tiver um filtro de espaço de trabalho existente e deseja usá-lo para check-out, é possível primeiro criar o META-INF/vault
e coloque o filtro lá, ou especifique-o na linha de comando da seguinte maneira:
$ vlt co --filter filter.xml http://localhost:4502/crx/-/jcr:root geo
Um exemplo de filtro:
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/etc/designs/geometrixx" />
<filter root="/apps/geometrixx"/>
</workspaceFilter>
Uso de Importar/Exportar em vez do Controle .vlt
Você pode importar e exportar conteúdo entre um repositório JCR e o sistema de arquivos local sem usar arquivos de controle.
Para importar e exportar conteúdo sem usar .vlt
Controlo:
-
Inicialmente, configure o repositório:
$ 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
-
Altere a cópia remota e atualize o JCR:
$ cd /projects/geometrixx $ vlt -v import http://localhost:4502/crx . /
-
Altere a cópia remota e atualize o servidor de arquivos:
$ 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
Uso de VLT
Para emitir comandos no VLT, digite o seguinte na linha de comando:
vlt [options] <command> [arg1 [arg2 [arg3] ..]]
As opções e os comandos são descritos detalhadamente nas seções a seguir.
Opções Globais de VLT
Veja a seguir uma lista de opções de VLT, que estão disponíveis para todos os comandos. Consulte os comandos individuais para obter informações sobre opções adicionais disponíveis.
Opção | Descrição |
-Xjcrlog <arg> | Opções JcrLog estendidas |
-Xdavex <arg> | Opções remotas do JCR estendido |
--credentials <arg> | As credenciais padrão a serem usadas |
--config <arg> | A configuração JcrFs a ser usada |
-v (--verbose) | saída detalhada |
-q (--quiet) | imprimir o mínimo possível |
--version | Imprime as informações da versão e sai do VLT |
--log-level <level> | Indica o nível de log, por exemplo, o nível de log4j. |
-h (--help) <command> | Imprime a ajuda desse comando específico |
Comandos VLT
A tabela a seguir descreve todos os comandos VLT disponíveis. Consulte os comandos individuais para obter informações detalhadas sobre sintaxe, opções disponíveis e exemplos.
Comando | Comando Abreviado | Descrição |
export | Exportações de um repositório JCR (sistema de arquivos de cofre) para o sistema de arquivos local sem arquivos de controle. | |
import | Importa um sistema de arquivos local para um repositório JCR (sistema de arquivos do cofre). | |
checkout | co | Faz check-out de um sistema de arquivos Vault. Use isso para um repositório JCR inicial no sistema de arquivos local. (Observação: Primeiro, você deve fazer check-out do repositório na subversão.) |
analyze | Analisa pacotes. | |
status | st | Imprime o status de arquivos e diretórios de cópia de trabalho. |
update | up | Importa alterações do repositório para a cópia de trabalho. |
info | Exibe informações sobre um arquivo local. | |
commit | ci | Envia alterações da cópia de trabalho para o repositório. |
revert | rev | Restaura o arquivo de cópia de trabalho ao seu estado original e desfaz a maioria das edições locais. |
resolved | res | Remove o estado conflitante em arquivos de cópia de trabalho ou diretórios. |
propget | pg | Imprime o valor de uma propriedade em arquivos ou diretórios. |
proplist | pl | Imprime as propriedades em arquivos ou diretórios. |
propset | ps | Define o valor de uma propriedade em arquivos ou diretórios. |
add | Coloca arquivos e diretórios sob o controle de versão. | |
delete | del ou rm | Remove arquivos e diretórios do controle de versão. |
diff | di | Exibe as diferenças entre dois caminhos. |
console | Executa um console interativo. | |
rcp | Copia uma árvore de nó de um repositório remoto para outro. | |
sync | Permite controlar o serviço de sincronização de cofre. |
Exportar
Exporta o sistema de arquivos Vault montado em <uri> para o sistema de arquivos local em <local-path>. Uma <jcr-path> pode ser especificado para exportar apenas uma subárvore.
Sintaxe
export -v|-t <arg>|-p <uri> <jcr-path> <local-path>
Opções
-v (--verbose) | saída detalhada |
-t (--type) <arg> | especifica o tipo de exportação, plataforma ou jar. |
-p (--prune-missing) | especifica se os arquivos locais ausentes devem ser excluídos |
<uri> | uri do ponto de montagem |
<jcrPath> | Caminho JCR |
<localPath> | caminho local |
Exemplos
vlt export http://localhost:4502/crx /apps/geometrixx myproject
Importar
Importa o sistema de arquivos local (começando em <local-path>
ao sistema de arquivos do cofre em <uri>
. Você pode especificar uma <jcr-path>
como raiz de importação. If --sync
for especificado, os arquivos importados serão automaticamente colocados sob controle de cofre.
Sintaxe
import -v|-s <uri> <local-path> <jcr-path>
Opções
-v (--verbose) | saída detalhada |
-s (-- sync) | coloca os arquivos locais sob controle de cofre |
<uri> | uri do ponto de montagem |
<jcrPath> | Caminho JCR |
<localPath> | caminho local |
Exemplos
vlt import http://localhost:4502/crx . /
Check-out (co)
Executa um check-out inicial de um repositório JCR no sistema de arquivos local, iniciando em <uri> para o sistema de arquivos local em <local-path>. Você também pode adicionar uma <jcrpath> para fazer check-out de um subdiretório da árvore remota. É possível especificar filtros de espaço de trabalho que são copiados para o diretório META-INF.
Sintaxe
checkout --force|-v|-q|-f <file> <uri> <jcrPath> <localPath>
Opções
--force | força o check-out a substituir arquivos locais se eles já existirem |
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
-f (--filter) <file> | especifica filtros automáticos se nenhum estiver definido |
<uri> | uri do ponto de montagem |
<jcrPath> | (opcional) caminho remoto |
<localPath> | (opcional) caminho local |
Exemplos
Usando a Remoção do JCR:
vlt --credentials admin:admin co http://localhost:8080/crx/server/crx.default/jcr_root/
Com o espaço de trabalho padrão:
vlt --credentials admin:admin co http://localhost:8080/crx/server/-/jcr_root/
Se o URI estiver incompleto, ele será expandido:
vlt --credentials admin:admin co http://localhost:8080/crx
Analisar
Analisa pacotes.
Sintaxe
analyze -l <format>|-v|-q <localPaths1> [<localPaths2> ...]
Opções
-l (--linkFormat) <format> | formato printf para links de hotfix (nome, id), por exemplo `[CQ520_HF_%s |
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
<localPaths> [<localPaths> ...] | caminho local |
Status
Imprime o status de arquivos e diretórios de cópia de trabalho.
If --show-update
for especificado, cada arquivo será verificado em relação à versão remota. A segunda letra especifica então qual ação seria executada por uma operação de atualização.
Sintaxe
status -v|-q|-u|-N <file1> [<file2> ...]
Opções
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
-u (--show-update) | exibe informações de atualização |
-N (--non-recursive) | opera em um único diretório |
<file> [<file> ...] | arquivo ou diretório para exibir o status |
Atualizar o
Copia alterações do repositório para a cópia de trabalho.
Sintaxe
update -v|-q|--force|-N <file1> [<file2> ...]
Opções
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
--force | força a substituição de arquivos locais |
-N (--non-recursive) | opera em um único diretório |
<file> [<file> ...] | arquivo ou diretório a ser atualizado |
Informações
Exibe informações sobre um arquivo local.
Sintaxe
info -v|-q|-R <file1> [<file2> ...]
Opções
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
-R (--recursive) | opera recursivamente |
<file> [<file> ...] | arquivo ou diretório para exibir informações |
Confirmar
Envia alterações da cópia de trabalho para o repositório.
Sintaxe
commit -v|-q|--force|-N <file1> [<file2> ...]
Opções
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
--force | força a confirmação mesmo que a cópia remota seja modificada |
-N (--non-recursive) | opera em um único diretório |
<file> [<file> ...] | arquivo ou diretório para confirmação |
Reverter
Restaura o arquivo de cópia de trabalho ao estado original e desfaz a maioria das edições locais.
Sintaxe
revert -q|-R <file1> [<file2> ...]
Opções
-q (--quiet) | imprime o mínimo possível |
-R (--recursive) | descende recursivamente |
<file> [<file> ...] | arquivo ou diretório para confirmação |
Resolvido
Remove conflitante estado em arquivos ou diretórios de cópia de trabalho.
Sintaxe
resolved -q|-R|--force <file1> [<file2> ...]
Opções
-q (--quiet) | imprime o mínimo possível |
-R (--recursive) | descende recursivamente |
--force | resolve, mesmo se houver marcadores de conflito |
<file> [<file> ...] | arquivo ou diretório a ser resolvido |
Propget
Imprime o valor de uma propriedade em arquivos ou diretórios.
Sintaxe
propget -q|-R <propname> <file1> [<file2> ...]
Opções
-q (--quiet) | imprime o mínimo possível |
-R (--recursive) | descende recursivamente |
<propname> | o nome da propriedade |
<file> [<file> ...] | arquivo ou diretório do qual obter a propriedade |
Proplist
Imprime as propriedades em arquivos ou diretórios.
Sintaxe
proplist -q|-R <file1> [<file2> ...]
Opções
-q (--quiet) | imprime o mínimo possível |
-R (--recursive) | descende recursivamente |
<file> [<file> ...] | arquivo ou diretório do qual listar as propriedades |
Propset
Define o valor de uma propriedade em arquivos ou diretórios.
vlt:mime-type
Sintaxe
propset -q|-R <propname> <propval> <file1> [<file2> ...]
Opções
-q (--quiet) | imprime o mínimo possível |
-R (--recursive) | descende recursivamente |
<propname> | o nome da propriedade |
<propval> | o valor da propriedade |
<file> [<file> ...] | arquivo ou diretório para definir a propriedade como |
Adicionar
Coloca arquivos e diretórios sob controle de versão, agendando-os para adição ao repositório. Eles serão adicionados na próxima confirmação.
Sintaxe
add -v|-q|-N|--force <file1> [<file2> ...]
Opções
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
-N (--non-recursive) | opera em um único diretório |
--force | força a operação a ser executada |
<file> [<file> ...] | arquivo ou diretório local a ser adicionado |
Excluir
Remove arquivos e diretórios do controle de versão.
Sintaxe
delete -v|-q|--force <file1> [<file2> ...]
Opções
-v (--verbose) | saída detalhada |
-q (--quiet) | imprime o mínimo possível |
--force | força a operação a ser executada |
<file> [<file> ...] | arquivo ou diretório local a ser excluído |
Diff
Exibe as diferenças entre dois caminhos.
Sintaxe
diff -N <file1> [<file2> ...]
Opções
-N (--non-recursive) | opera em um único diretório |
<file> [<file> ...] | arquivo ou diretório para exibir as diferenças do |
Console
Executa um console interativo.
Sintaxe
console -F <file>
Opções
-F (--console-settings) <file> | especifica o arquivo de configurações do console. O arquivo padrão é console.properties. |
Rcp
Copia uma árvore de nó de um repositório remoto para outro. <src>
aponta para o nó de origem e <dst>
especifica o caminho de destino, onde o nó pai deve existir. O Rcp processa os nós fazendo o streaming dos dados.
Sintaxe
rcp -q|-r|-b <size>|-t <seconds>|-u|-n|-e <arg1> [<arg2> ...] <src> <dst>
Opções
-q (--quiet) | Imprime o mínimo possível. |
-r (--recursive) | Descende recursivamente. |
-b (--batchSize) <size> | Número de nós a serem processados antes de um salvamento intermediário. |
-t (--throttle) <seconds> | Número de segundos para aguardar após uma gravação intermediária. |
-u (--update) | Substituir/excluir nós existentes. |
-n (--newer) | Respeite as propriedades lastModified para atualização. |
-e (--exclude) <arg> [<arg> ...] | Regexp de caminhos de origem excluídos. |
<src> | O endereço do repositório da árvore de origem. |
<dst> | O endereço do repositório do nó de destino. |
Exemplos
vlt rcp http://localhost:4502/crx/-/jcr:root/content https://admin:admin@localhost:4503/crx/-/jcr:root/content_copy
--exclude
as opções precisam ser seguidas por outra opção antes da variável <src>
e <dst>
argumentos. Por exemplo:vlt rcp -e ".*\.txt" -r
Sincronizar
Permite controlar o serviço de sincronização de cofre. Sem nenhum argumento, esse comando tenta colocar o diretório de trabalho atual sob controle sincronizado. Se executado em um check-out de vlt, ele usará o respectivo filtro e host para configurar a sincronização. Se executado fora de um check-out de vlt, ele registrará a pasta atual para sincronização somente se o diretório estiver vazio.
Sintaxe
sync -v|--force|-u <uri> <command> <localPath>
Opções
-v (--verbose) | saída detalhada. |
--force | forçar a execução de determinados comandos. |
-u (--uri) <uri> | especifica o URI do host de sincronização. |
<command> | comando sync para executar. |
<localPath> | pasta local a ser sincronizada. |
Códigos de status
Os códigos de status usados pelo VLT são:
- ' ' sem modificações
- 'A' adicionado
- 'C' Em Conflito
- "D" Suprimido
- "I" Ignorado
- 'M' Modificado
- 'R' Substituído
- '?' item não está sob controle de versão
- '!' item ausente (removido pelo comando non-svn) ou incompleto
- Item com versão "~" obstruído por algum item de tipo diferente
Configurando a Sincronização do FileVault
O serviço de sincronização de cofre é usado para sincronizar o conteúdo do repositório com uma representação do sistema de arquivos local e vice-versa. Isso é feito instalando um serviço OSGi que acompanha as alterações do repositório e verificará o conteúdo do sistema de arquivos periodicamente. Ele usa o mesmo formato de serialização do cofre para mapear o conteúdo do repositório para o disco.
Instalação do serviço usando vlt
O vlt sync install
pode ser usado para instalar automaticamente o pacote e a configuração do serviço de sincronização de cofre.
O pacote está instalado abaixo /libs/crx/vault/install
e o nó de configuração é criado em /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl
. Inicialmente, o serviço é ativado, mas nenhuma raiz de sincronização é configurada.
O exemplo a seguir instala o serviço de sincronização na instância do CRX acessível pelo uri fornecido.
$ vlt --credentials admin:admin sync --uri http://localhost:4502/crx install
Exibir o status do serviço
O status
pode ser usado para exibir informações sobre o serviço de sincronização em execução. "
$ 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
O comando não busca dados ao vivo do serviço, mas lê a configuração em /libs/crx/vault/com.day.jcr.sync.impl.VaultSyncServiceImpl
.Adicionar uma pasta de sincronização
O register
é usado para adicionar uma pasta para sincronizar com a configuração.
$ vlt sync register
Connecting via JCR remoting to http://localhost:4502/crx/server
Added new sync directory: /tmp/workspace/vltsync/jcr_root
register
O comando não aciona uma sincronização até que você configure a variável sync-once
configuração.Remover uma pasta de sincronização
O unregister
é usado para remover uma pasta para sincronizar da configuração.
$ vlt sync unregister
Connecting via JCR remoting to http://localhost:4502/crx/server
Removed sync directory: /tmp/workspace/vltsync/jcr_root
Configuração da sincronização
Configuração do serviço
Depois que o serviço estiver em execução, ele poderá ser configurado com os seguintes parâmetros:
-
vault.sync.syncroots
: Um ou vários caminhos de sistema de arquivos locais que definem as raízes de sincronização. -
vault.sync.fscheckinterval
: Frequência (em segundos) da qual o sistema de arquivos deve ser verificado em busca de alterações. O padrão é 5 segundos. -
vault.sync.enabled
: Sinalizador geral que ativa/desativa o serviço.
sling:OsgiConfig
nó (com o nome com.day.jcr.sync.impl.VaultSyncServiceImpl
) no repositório.Sincronizar configuração da pasta
Cada pasta de sincronização armazena a configuração e o status em três arquivos:
-
.vlt-sync-config.properties
: arquivo de configuração. -
.vlt-sync.log
: arquivo de log que contém informações sobre as operações executadas durante a sincronização. -
.vlt-sync-filter.xml
: filtros que definem quais partes do repositório são sincronizadas. O formato desse arquivo é descrito pela variável Execução de check-out filtrado seção.
O .vlt-sync-config.properties
permite configurar as seguintes propriedades:
desativado Ativa ou desativa a sincronização. Por padrão, esse parâmetro é definido como false para permitir a sincronização.
sync-once Se não estiver vazio, a próxima verificação sincronizará a pasta na direção determinada, então o parâmetro será limpo. Dois valores são suportados:
JCR2FS
: exporta todo o conteúdo no repositório JCR e grava no disco local.FS2JCR
: importa todo o conteúdo do disco para o repositório JCR.
sync-log Define o nome do arquivo de log. Por padrão, o valor é .vlt-sync.log
Usar a sincronização VLT para desenvolvimento
Para configurar um ambiente de desenvolvimento com base em uma pasta de sincronização, proceda da seguinte maneira:
-
Faça check-out do seu repositório com a linha de comando vlt:
$ vlt --credentials admin:admin co --force http://localhost:4502/crx dev
NOTE
Você pode usar filtros para verificar apenas os caminhos apropriados. Consulte a Execução de check-out filtrado para obter mais informações. -
Vá para a pasta raiz da sua cópia de trabalho:
$ cd dev/jcr_root/
-
Instale o serviço de sincronização no seu repositório:
$ 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
-
Inicializar o serviço de sincronização:
$ 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.
-
Edite o
.vlt-sync-config.properties
arquivo oculto e configure a sincronização para sincronizar o conteúdo do seu repositório:sync-once=JCR2FS
NOTE
Esta etapa baixa todo o repositório de acordo com a configuração do filtro. -
Verifique o arquivo de log
.vlt-sync.log
para ver o progresso:*** 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 ***
A pasta local agora é sincronizada com o repositório. A sincronização é bidirecional, portanto, a modificação do repositório será aplicada à sua pasta de sincronização local e vice-versa.