Cópia de arquivos no Git

O comando snow git copy copia arquivos de um determinado estado do repositório (ramificação, tag ou commit específico) para outro estágio ou sistema de arquivo local.

snow git copy <REPO_PATH> <DEST_PATH> [--parallel INT]
Copy

onde:

  • <REPO_PATH> é um caminho de estágio com um escopo específico onde o valor é o nome do repositório seguido por um sufixo especificando qual ramificação, tag ou commit deve ser copiado. A seguir estão listados alguns tipos diferentes de valores:

    • @snowcli_git/branches/main/ refere-se ao último commit da ramificação “principal”

    • @snowcli_git/tags/v2.1.0/ refere-se a um commit com tag v2.1.0.

    • @snowcli_git/commits/1e939d69ca6fd0f89074e7e97c9fd1/ refere-se a um commit específico. Os hashes do commit devem ter entre 6 e 40 caracteres.

    Um caminho de repositório também pode ser um subdiretório ou arquivo no repositório, mas ainda deve ser precedido por um prefixo de escopo.

  • <DEST_PATH> é um caminho para um diretório local ou para um diretório remoto no estágio Snowflake.

  • --parallel especifica o número de threads a serem usados ao baixar arquivos.

Quando <DEST_PATH> especifica um estágio, o comando opera de forma diferente com base em seu formato de sufixo, como segue:

  • Se a fonte terminar com um /, como @my_snow_git/branches/main/tests/plugin/, o comando copia o conteúdo do diretório plugin para o destino.

  • Se a fonte não terminar com um /, como @my_snow_git/branches/main/tests/plugin, o comando copia todo o diretório plugin.

Exemplo: copiar arquivos de um commit para um diretório em um estágio

Este exemplo cria um diretório snowcli2.0/ no estágio @public e copia todos os arquivos do commit marcados com a tag v2.0.0 para esse diretório:

snow git copy @my_snow_git/tags/v2.0.0/ @public/snowcli2.0/
Copy

Exemplo: copiar arquivos de dentro de um diretório para um diretório em um estágio

O exemplo a seguir cria um diretório plugin_tests em um estágio test_stage e copia o conteúdo do diretório tests/plugin/ nele.

snow git copy @my_snow_git/branches/main/tests/plugin/ @test_stage/plugin_tests/
Copy

Exemplo: copiar um diretório inteiro para um diretório em um estágio

Este exemplo cria um diretório plugin_tests no estágio estágio_de_teste e copia todo o diretório tests/plugin para ele. Como tests/plugin não termina com /, o comando copia todos os arquivos para @test_stage/plugin_tests/plugin.

snow git copy @snowcli_git/branches/main/tests/plugin @test_stage/plugin_tests
Copy

Exemplo: copiar arquivos de um diretório em um estágio para o sistema de arquivos local

O exemplo a seguir cria um diretório plugin_tests no sistema de arquivos local e baixa o conteúdo do diretório tests/plugin nele.

snow git copy @snowcli_git/branches/main/tests/plugin plugin_tests/
Copy