Em sistemas de controle de versão, um repositório é uma estrutura de dados que armazena metadados para um conjunto de arquivos ou estrutura de diretórios.[1] Dependendo se o sistema de controle de versão em uso é distribuído, como o Git ou Mercurial, ou centralizado, como o Subversion, CVS ou Perforce, todo o conjunto de informações no repositório pode ser duplicado no sistema de cada usuário ou pode ser mantido em um único servidor.[2] Alguns dos metadados que um repositório contém incluem, entre outras coisas, um registro histórico de alterações no repositório, um conjunto de objetos de commit e um conjunto de referências a objetos de commit, chamados de heads.

O objetivo principal de um repositório é armazenar um conjunto de arquivos, bem como o histórico de alterações feitas nesses arquivos.[3] No entanto, a forma exata como cada sistema de controle de versão lida com o armazenamento dessas alterações difere bastante. Por exemplo, o Subversion no passado dependia de uma instância de banco de dados, mas desde então passou a armazenar suas alterações diretamente no sistema de arquivos.[4] Essas diferenças nas técnicas de armazenamento geralmente levaram a diversos usos do controle de versão por diferentes grupos, dependendo de suas necessidades.[5]

Visão geral

editar
Um repositório sendo exibido no GitLab, uma forja de código de código aberto.

Na engenharia de software, um sistema de controle de versão é usado para acompanhar as versões de um conjunto de arquivos, geralmente para permitir que vários desenvolvedores colaborem em um projeto. O repositório rastreia os arquivos no projeto, que é representado como um grafo.

Um sistema de controle de versão distribuído é composto por repositórios centrais e de ramificação (branch). Um repositório central existe no servidor. Para fazer alterações nele, um desenvolvedor primeiro trabalha em um repositório de ramificação e procede com o commit da alteração para o primeiro.

Forjas

editar

Uma forja de código é uma interface web para um sistema de controle de versão. Um usuário geralmente pode navegar pelos repositórios e seus arquivos constituintes na própria página.

Hospedagem de web estática

editar

Embora as forjas sejam usadas principalmente para realizar operações de controle de versão, algumas permitem que os usuários hospedem páginas web estáticas ao enviar seu código-fonte (como HTML e JavaScript, mas não PHP) para um repositório. Isso geralmente é feito para fornecer documentação ou uma landing page para um projeto de software.

O uso de repositórios como um local para enviar documentos web permite que o controle de versão seja integrado e, adicionalmente, permite uma iteração rápida, pois as alterações são enviadas (push) através do Sistema de Controle de Versão, em vez de ter que carregar o arquivo através de um protocolo como o FTP.[6]

Exemplos desse tipo de serviço incluem Codeberg Pages, GitHub Pages e GitLab Pages.

Referências

editar
  1. «SVNBook». Consultado em 20 de abril de 2012 
  2. «Version control concepts and best practices». 3 de março de 2018. Consultado em 10 de julho de 2020. Cópia arquivada em 27 de abril de 2020 
  3. «Getting Started - About Version Control». Git SCM 
  4. Ben Collins-Sussman; Brian W. Fitzpatrick; C. Michael Pilato (2011). «Chapter 5: Strategies for Repository Deployment». Version Control with Subversion: For Subversion 1.7. [S.l.]: O'Reilly 
  5. «Different approaches to source control branching». Stack Overflow. Consultado em 15 de novembro de 2014 
  6. «GitHub Pages | Websites for you and your projects, hosted directly from your GitHub repository.». GitHub 

📚 Artikel Terkait di Wikipedia

Sistema de controle de versões

veja Variação ovotesticular. Um sistema de controle de versões (ou versionamento), VCS (do inglês version control system) ou ainda SCM (do inglês source code

CVS

visão de computador. O CVS, ou Concurrent Version System (Sistema de Versões Concorrentes) é um sistema de controle de versão que permite que se trabalhe

Subversion

OS X C. Michael Pilato, Ben Collins-Sussman, Brian W. Fitzpatrick; Version Control with Subversion; O'Reilly; ISBN 0-596-00448-6 (1st edition, paperback

Lista de Pokémon da geração IX

Sisi (30 de novembro de 2022). «This Scarlet And Violet Pokémon Might Commit Murder And Fans Are Obsessed». Kotaku. Consultado em 31 de julho de 2023

Git

IDEA Versão 8.1 agora suporta o Git por um plugin embutido: Intellij Version Control Systems Integration. Xcode 4 - assim como a versão 4 de demonstração

D4vd

2025. Cópia arquivada em 21 de dezembro de 2025  Mariah, D. «Watch d4vd Commit "Romantic Homicide" In This Raw Performance Of His Breakthrough Hit». Grammy

PostgreSQL

suporte a tablespaces, savepoints, point-in-time recovery, roles e Two-Phase Commit (2PC). Em setembro de 2010 foi lançada a versão 9.0. O PostgreSQL é um projeto

2025 nos jogos eletrônicos

de dezembro de 2024. Are you aiming for a mid-next year release? I won't commit to anything specific, but we're looking at next year.  Romano, Sal (6 de