InterSystems Oficial
· jan 28

Novos e Futuros Recursos Incorporados no Git

Já faz um tempo que não posto sobre o Embedded Git na Comunidade de Desenvolvedores, e gostaria de fornecer uma atualização sobre a enorme quantidade de trabalho que fizemos este ano e para onde estamos indo a seguir.

Contexto

Se você estiver construindo soluções no IRIS e quiser usar o Git, isso é ótimo! Basta usar o VSCode com um repositório git local e enviar suas alterações para o servidor - é muito fácil.

Mas e se:

  • Você está colaborando com outros desenvolvedores em um ambiente de desenvolvimento remoto e compartilhado e quer evitar pisar nos pés uns dos outros editando o mesmo arquivo ao mesmo tempo
  • Você está usando editores baseados no portal de gerenciamento para interoperabilidade ou inteligência de negócios e deseja controle de origem direto para seu trabalho - mesmo em um contêiner local 
  • Você ainda está usando o Studio para algumas coisas e/ou ocasionalmente volta do VSCode; ou sua equipe ainda não adotou totalmente o VSCode, e alguns membros da equipe ainda querem usar o Studio enquanto outros usam o VSCode
  • Você está trabalhando em vários projetos separados ao mesmo tempo no mesmo namespace - digamos, vários pacotes definidos usando o InterSystems Package Manager - e quer trabalhar com todos eles a partir de uma visualização de edição do isfs (em vez de vários projetos distintos) com alterações rastreadas no repositório git local apropriado automaticamente

Em qualquer um desses casos, você realmente precisa de controle de origem incorporado. Você pode ter ouvido isso chamado de "controle de origem do lado do servidor" ou "ganchos de controle de origem" - é tudo a mesma coisa e significa que há um comportamento de controle de origem consistente em todos os editores, tanto IDE quanto editores gráficos, em uma instância IRIS. Tudo isso funciona em um repositório de controle de origem colocalizado com sua instância IRIS, que pode estar em um servidor remoto, sua própria máquina ou até mesmo em um contêiner.

Se você quiser começar com o controle de origem incorporado usando o Git, o Embedded Git (https://github.com/intersystems/git-source-control) é o lugar para começar. Este não é um produto com suporte da InterSystems, mas tem um apoio significativo da minha equipe (Serviços de Aplicativos) dentro da InterSystems e uma ampla comunidade de usuários. PRs e problemas do GitHub são sempre bem-vindos, e monitoramos a atividade da Comunidade de Desenvolvedores (especialmente usando a tag relativamente nova "Embedded Git").

"Embedded Git" em 2024

No começo do ano, eu recomendaria o Embedded Git para usuários mais técnicos, já familiarizados com o Git e dispostos a se aprofundar quando necessário. Agora, eu o recomendaria de todo o coração para qualquer um. Como uma representação do esforço que colocamos na ferramenta e do avanço louco que vemos em 2024, aqui está um gráfico do nosso volume de commits nos últimos anos:

Se quiser ver o que temos feito, você pode conferir os Lançamentos ou nosso Registro de Alterações, mas aqui está um resumo dos pontos altos:

  • Em julho, adicionamos um "Modo Básico" descrito aqui com uma operação "Sincronizar" que simplifica um fluxo de trabalho de pull/commit/rebase/push que recomendamos em geral, mas especialmente para pessoas menos familiarizadas com o Git.
  • Em vários lançamentos, tornamos perfeito ter operações de pull e checkout do git - na verdade, qualquer coisa que modifique o estado do repositório Git - sincronizadas perfeitamente de volta ao IRIS para que tudo seja mantido atualizado sem precisar recarregar à força toda a base de código.
  • Nosso lançamento de setembro tornou super fácil configurar uma conexão isfs baixando um arquivo de espaço de trabalho do VSCode do portal de gerenciamento.
  • Nosso lançamento de novembro tornou possível configurar muito mais por meio da página de configurações da extensão em vez de precisar executar comandos no Terminal e adicionou resolução inteligente de conflitos de mesclagem para os dois casos de uso mais comuns (quase garantidos) em uma configuração de interoperabilidade.
  • Junto com tudo isso, resolvemos dezenas de pequenos bugs e problemas de usabilidade, simplificamos a navegação pelo Portal de Gerenciamento e adicionamos muitos recursos menores para simplificar os casos de uso de interoperabilidade e a colaboração entre vários namespaces específicos do desenvolvedor em uma instância remota compartilhada (o que vemos e recomendamos como uma abordagem comum).

Em Breve

Nosso próximo lançamento (2.8.0), esperado para as próximas duas semanas, incluirá um recurso no qual estamos trabalhando há meses - "Decomposição de Produção". A produção de interoperabilidade é tipicamente controlada pela fonte como um único arquivo, o que leva a problemas de simultaneidade porque apenas uma pessoa pode editar a produção por vez. Também há conflitos de mesclagem quase garantidos em ambientes de desenvolvimento compartilhados e, embora possamos resolvê-los de forma inteligente, eles provavelmente continuarão a surgir em certos fluxos de trabalho de ramificação. Com a Decomposição de Produção, cada host de negócios (serviço, processo ou operação) é representado no controle de origem como um único arquivo. Se você estiver interessado em experimentar isso, avise-nos!

Manteremos o ritmo no Embedded Git em 2025, com foco em métodos de autenticação adicionais e suporte para outros padrões comuns de implantação. Você pode ver o plano aproximado em nosso Milestone H1 de 2025 (que abrangerá alguns lançamentos; geralmente lançamos versões menores mensalmente e versões de patch conforme necessário para correções de bugs importantes).

Se você estiver interessado em aprender mais / acompanhar o desenvolvimento conforme ele acontece, temos uma reunião semanal de stakeholders às sextas-feiras, da qual você seria bem-vindo para participar. Isso também acaba servindo como uma espécie de "horário de expediente" para o Embedded Git em geral. Sinta-se à vontade para me enviar uma mensagem com seu endereço de e-mail e eu o convidarei. 

Discussão (0)1
Entre ou crie uma conta para continuar