Go: Proposta: apoiar “links simbólicos” no GOPATH

Criado em 2 mai. 2016  ·  3Comentários  ·  Fonte: golang/go

No verso de https://github.com/golang/go/issues/15201#issuecomment -208602586

Propomos um meio pelo qual o cmd/go e seus amigos aproveitam arquivos regulares para simular o comportamento semelhante a links simbólicos dentro de um repositório durante a resolução de pacotes GOPATH de maneira agnóstica de plataforma

https://docs.google.com/document/d/1n5y3mZPs_4PjI80a0vZEaHLe7r9PeiiE9xsIrQFT8Is/edit

Obrigado a @kardianos por compartilhar seus pensamentos iniciais offline

_O nome "symlink" é obrigado a gerar uma boa discussão por si só: espero que possamos discutir nomes/nomeação separadamente do cerne da proposta_

FrozenDueToAge Proposal

Todos 3 comentários

Alguns comentários/perguntas:

  • O termo "repositório" não está definido. E se o código fonte no GOPATH não estiver vindo de um VSC ou vindo do Subversion que suporta o check-out de um diretório?
  • se um repositório contiver vários binários públicos, não será necessário copiar as dependências várias vezes. dependências fornecidas podem ser colocadas em cmd/vendor.
  • Tanto quanto posso dizer, esta proposta não resolve o problema de "biblioteca e programa no mesmo repositório".

@kostya-sh

O termo "repositório" não está definido

A primeira nota de rodapé fornece detalhes - é a mesma definição assumida aqui . Mas eu concordo que a questão ainda permanece se "repositório" está formalmente definido em algum lugar?

E se o código fonte no GOPATH não estiver vindo de um VSC ou vindo do Subversion que suporta o check-out de um diretório?

Pergunta em aberto - admito que a única consideração até agora foi para o código que faz parte de um "repositório". Eu adicionei uma seção de "perguntas abertas" na parte inferior fazendo referência a essa pergunta.

se um repositório contiver vários binários públicos, não será necessário copiar as dependências várias vezes. dependências fornecidas podem ser colocadas em cmd/vendor

Na verdade, essa é uma abordagem para compartilhar código fornecido entre binários. Mas a abordagem de "link simbólico" ajuda a facilitar a abordagem de compartilhamento desse "fornecedor" com o código da biblioteca (veja o próximo ponto)

Tanto quanto posso dizer, esta proposta não resolve o problema de "biblioteca e programa no mesmo repositório".

Essa proposta por si só não, não. Mas o repositório vinculado na seção "Exemplo motivador" descreve como esse problema pode ser resolvido usando uma combinação de "links simbólicos" e aumento do GOPATH.

Os links simbólicos são muito problemáticos. Parece insensato permiti-los.

Esta página foi útil?
0 / 5 - 0 avaliações