Skip to content

covid19br/central_covid

Folders and files

NameName
Last commit message
Last commit date
Aug 27, 2020
Mar 22, 2023
Dec 1, 2021
May 28, 2020
Jan 26, 2023
Mar 14, 2022
Nov 30, 2022
Jun 8, 2020
May 15, 2020
May 28, 2020
Aug 7, 2020
May 15, 2020

Repository files navigation

Meta repo para dados e análises

Repo centralizado para organizar os repos de análise e de dados numa estrutura padronizada.

Para configurar a primeira vez

git clone [email protected]:covid19br/central_covid.git
cd central_covid
git submodule update --init
git clone [email protected]:covid19br/covid19br.github.io.git site
git clone [email protected]:covid19br/nowcasting.git 

Isto clona os repositórios site e nowcasting dentro do meta-repo sem que eles sejam submódulos.

Estrutura

O repositório central_covid funciona como um agregador de todos os repositórios relacionados às análises e divulgação do Observatório covid19. O uso de um meta-repo e git submodules permite controlar o acesso a dados sigilosos, mas disponibilizar todos os códigos e dados processados publicamente.

Estrutura do repo central_covid

Dados

Os repositórios sigilosos devem ficar dentro da pasta dados, e pode ser ignorados pelos usuários sem acesso aos dados sigilosos.

Para acrescentar um conjunto de dados novo, basta adicionar o repositório novo na pasta de dados:

cd dados
git submodule add URL_do_repo_novo

Depois é necessário dar um commit no meta-repo para incluir esse novo sub-repositório no histórico.

Fazendo mudanças nos sub-repositórios e no meta-repositório

O primeiro pull dos sub-repositórios coloca esses repositórios num estado "detached HEAD", e mudanças feitas nesse estado NÃO SÃO INCLUIDAS NO HISTÓRICO DO GIT. Para fazer mudanças, é necessário entrar em algum branch. Para isso, basta, entrar no repositório a ser modificado e dar um checkout no branch adequado:

cd dados/municipio_SP
git checkout master

Também é possível usar o comando foreach para mudar o branch, ou mesmo criar um um branch em todos os sub-repositórios simultaneamente.

git submodule foreach 'git checkout master'

Após escolher o branch adequado, todo o trabalho dentro das pastas site, nowcasting ou nos repos de dados deve ser incluído nesses repos normalmente, com git add arquivo_modificado e git commit utilizados dentro das pastas dos sub-repositórios. Após mudanças nesses sub-repositórios, é necessário atualizar no meta-repositório central_covid qual é o commit mais recente dos sub-repositórios.

Isso é feito com um git add e git commit a partir do meta-repositório central.

Trazendo mudanças recentes do servidor

É possível atualizar simultaneamente o meta-repositório e todos os sub-repositórios com:

git pull --recurse-submodules

Para saber mais sobre submodules

Para uma introdução nada introdutória a git submodules, veja https://git-scm.com/book/en/v2/Git-Tools-Submodules

About

Meta repo para todos os repos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages