transparencia-mg / age7

https://transparencia-mg.github.io/age7/
1 stars 2 forks source link

`pull` e `push` no repositório e no docker não funcionando #142

Closed gabrielbdornas closed 1 year ago

gabrielbdornas commented 1 year ago

Erro durante pull: error: insufficient permission for adding an object to repository database .git/objects. Este post resolveu a questão fora do docker:

# Cadastrar repositório como shared
$ git config core.sharedRepository group

# Configurações dentro da pasta .git
$ cd /path/to/repo/.git
$ sudo chmod -R a+rwX .
sudo find . -type d -exec chmod g+s '{}' +

Ocorre que segundo este post o cache se apaga após 15 minutos (percebido ao tentar realizar um pull após vários minutos fora do docker):

The credential.helper cache value tells Git to keep your password cached in memory for a particular amount of minutes. The default is 15 minutes, you can set a longer timeout with --timeout flag

Então utilizei a configuração para uma semana de cache para testar (Só funcionou fora do docker):

# Cache for 1 week
git config --global credential.helper "cache --timeout=604800"

Quando conseguir fazer cache da credencial funcionar dentro do docker, instalar cache definitivo utilizando o que foi sugerido no final do post citado acima:

sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
gabrielbdornas commented 1 year ago

Cadastrar cache com sucesso fora docker.

Funcionou no docker após cadastrar no arquivo age7/.git/config:

file:.git/config        credential.helper=store --file /pwd/.age7
gabrielbdornas commented 1 year ago

Utilizado este post para descobrir aonde arquivos de configuração git ficam:

git config --list --show-origin
gabrielbdornas commented 1 year ago

Testar se funcionou após este commit.

gabrielbdornas commented 1 year ago

Testei no dia 19/10/2022 os commits e push do repositório e não aconteceu o último commit nem push. Um arquivo README.md.save na raiz do repositório e pode ser este motivo. Exclui este arquivo e devo realizar o teste amanhã 19/10/2022.

gabrielbdornas commented 1 year ago

@Andrelamor, conforme investigamos, este último commit no repositório mostra que o pull foi reaizado mas o push não. Erro provavelmente nos scripts que rodam a função parse no R. Enquanto não corrigirmos este erro não será possível testar o push.

Uma sugestão seria trocar o script para python utilizando a biblioteca jinjasql e não dar manutenção no código R.

Após solucionado o erro testar o push.

Obs.: Novas credenciais GitHub estão sendo utilizadas após #144.

Apos conversa com Francisco identificamos que o problema com Parse foi um erro de sintaxe no datapackage.json, nao necessitando trocar o script R.


TODOLIST

gabrielbdornas commented 1 year ago

Em 04 de novembro descobri que o erro de push è o tamanho do arquivo logs/full_extract.txt

remote: error: Trace: 680c6c23e745efe0e46eac7ea5323c7278b2fff135880815c3b56006c555d124                                  
remote: error: See http://git.io/iEPt8g for more information.                                                           
remote: error: File logs/full_extract.txt is 691.69 MB; this exceeds GitHub's file size limit of 100.00 MB              
remote: error: File logs/full_extract.txt is 691.69 MB; this exceeds GitHub's file size limit of 100.00 MB              
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. 

Inclui este arquivo no .gitignore e executei os passos sugeridos neste post, mas ele nao remove o arquivo do historico do git, por isso continuei nao conseguindo fazer o push. Realizei entao a reescrita dos commits retirando este arquivo conforme sugerido neste post. Para finalizar foi necessario rodar git push -f origin main (push com force).

@Andrelamor, após esta ação o pull no meu repositório local deu errado:

remote: Enumerating objects: 1486, done.
remote: Counting objects: 100% (1486/1486), done.
remote: Compressing objects: 100% (248/248), done.
remote: Total 1486 (delta 1259), reused 1461 (delta 1237), pack-reused 0
Receiving objects: 100% (1486/1486), 4.68 MiB | 1.03 MiB/s, done.
Resolving deltas: 100% (1259/1259), completed with 194 local objects.
From github.com:transparencia-mg/age7
 * branch            main       -> FETCH_HEAD
 + 61668c8...af2949f main       -> origin/main  (forced update)
fatal: refusing to merge unrelated histories

A melhor opção foi excluir a pasta e clonar o repo novamente.

gabrielbdornas commented 1 year ago

pull e push funcionaram normalmente em 16/11/2022.