Um controle de versões refinado e flexível para artefatos de software - Junqueira, Daniel Carnio (2008)
As atividades de controle de versões são consideradas essenciais para a manutenção de sistemas de computador. Elas começaram a ser realizadas na década de 1950 de forma manual. As primeiras ferramentas de controle de versões, que surgiram nos anos setenta, não evoluíram significativamente desde sua criação e, até hoje, o controle de versões de arquivos é geralmente realizado em arquivos ou mesmo módulos completos, utilizando os conceitos que foram lançados há mais de três décadas. Com a popularização da utilização de sistemas computacionais, ocorreu um sensível aumento no número de sistemas existentes e, também, na complexidade dos mesmos. Além disso, muitas alterações ocorreram nos ambientes de desenvolvimento de software, e existe demanda por sistemas que permitam aos desenvolvedores ter cada vez mais controle automatizado sobre o que está sendo desenvolvido. Para isso, algumas abordagens de controle de versões refinados para artefatos de software foram propostas, mas, muitas vezes, não oferecem a exibilidade de utilização exigida pelos ambientes de desenvolvimento de software. Neste trabalho, é apresentado um sistema que visa a fornecer suporte ao controle de versões refinado e flexível para artefatos de software, tendo por base um modelo bem definido para representação das informações da estrutura dos arquivos que compõem determinado projeto de software, sejam eles código-fonte dos programas de computador, documentação criada em Latex, arquivos XML, entre outros. O sistema apresentado foi projetado para ser integrado com outras soluções utilizadas em ambientes de desenvolvimento de software