Skip to content
Snippets Groups Projects
Commit a6f91fb1 authored by Juliette Engelaere-Lefebvre's avatar Juliette Engelaere-Lefebvre
Browse files

Ajout complémets sur taille des exports et sur le changement de remote des projets locaux

parent 08d16294
Branches
No related tags found
No related merge requests found
Pipeline #60346 passed
^\.gitlab-ci\.yml$
^ci/lib$
^.*\.Rproj$
^\.Rproj\.user$
.sh$
\ No newline at end of file
......@@ -30,11 +30,15 @@ Le menu `Import project from` s'ouvre, choisir `gitlab export`, puis :
`r emo::ji('tada')`
Si la taille de votre répertoire ou de certains de ses composants excède la taille autorisée sur gitlab-forge, vous pouvez rencontrer une erreur bloquante.
Recommandation : installez [git filter-repo](https://github.com/newren/git-filter-repo) et/ou suivre le [pas à pas proposé dans l'aide de Gitlab](https://docs.gitlab.com/ee/user/project/settings/import_export.html#import-workarounds-for-large-repositories)
Voici un exemple de script qui nettoie d'un export gitlab avant d'être réimporté créé grâce à ce pas à pas : [maigrir_repo_git.sh] (https://gitlab-forge.din.developpement-durable.gouv.fr/dreal-pdl/csd/geodata4apps.fiches/-/raw/main/maigrir_repo_git.sh).
## Adaptations à opérer
### Script d'installation de packages
Le script R pour installer un package R depuis Gitlab-forge, alors qu'il était auparavant sur l'instance gitlab.com passe de :
Dans la documentation du projet, le script R pour installer un package R depuis Gitlab-forge, alors qu'il était auparavant sur l'instance gitlab.com passe de :
```
remotes::install_gitlab(repo = "adresse_du_groupe/nom_du_package")
```
......@@ -61,4 +65,13 @@ par exemple :
`https://dreal-pdl.gitlab-pages.din.developpement-durable.gouv.fr/csd/pages.projets.pub`
### Projet R : déclaration du changement de l'url du dépot distant
Sur votre poste de travail, il reste à faire correspondre votre répertoire local au répertoire distant de gitlab forge.
Dans le terminal de commande, vous pouvez switcher de l'ancien repo gitlab.com vers la nouvelle adresse gitlab-forge avec la commande `git remote set-url`
Par exemple pour le projet dreal-pdl/csd/utilitaires.ju, la commande :
```
git remote set-url origin https://gitlab-forge.din.developpement-durable.gouv.fr/dreal-pdl/csd/utilitaires.ju.git
```
va déclarer que le repo distant à suivre se trouve sur https://gitlab-forge.din.developpement-durable.gouv.fr/dreal-pdl/csd.
# Etapes préliminaires :
# --------------
# 1- Installer git filter-repo
# càd placer dans 'C:\Program Files (x86)\Git\mingw64\libexec\git-core' le fichier 'git-filter-repo'
# à telecharger depuis https://github.com/newren/git-filter-repo/blob/main/git-filter-repo
# modifier l'entete de ce fichier avec le bloc note #!/usr/bin/env python3 en #!/usr/bin/env python si votre poste est windows
# 2- Ouvrir un terminal de commande au niveau du repertoire où se situe le dossier exporté (par exemple le dossier 'téléchargements')
# Pour faire cela depuis RStudio : naviguer dans l'explorateur de fichier jusque au dossier 'téléchargements'
# Cliquer sur la roue crantée 'More' / Open new terminal here
# 3- Suivre le script ci-dessous
# Nommer ci-dessous le nom du projet exporté depuis gitlab (sans l'estension .tar.gz)
EXPORT=2022-09-28_08-58-133_dreal-datalab_si_eau_pesticide_export
mkdir "$EXPORT"
tar -xf "$EXPORT".tar.gz --directory="$EXPORT"/
cd "$EXPORT"/
git clone project.bundle
# Prevent interference with recreating an importable file later
mv project.bundle ../"$EXPORT"-original.bundle
mv ../"$EXPORT".tar.gz ../"$EXPORT"-original.tar.gz
# Réduire la taille du fichier .git/objects/pack/
cd project
# a utiliser pour ne créer qu'une seule branche à partir de l'ancien repo
# git switch --create smaller-tmp-main
# git reflog expire --expire=now --all
# git gc --prune=now --aggressive
# retire le suivi historique des objets de plus 25 Mo et recompose l'historique
git filter-repo --strip-blobs-bigger-than 25M --force
# Préparer un nouveau dossier tar.gz importable en listant ci dessous les branches à reimporter (master et suivantes)
git bundle create ../project.bundle master dev mise-en-œuvre-version-v2_2-analyses-prelévements-pesticides-ESO # dev ou autre branche
cd ..
mv project/ ../"$EXPORT"-project
cd ..
tar -czf "$EXPORT"-smaller.tar.gz --directory="$EXPORT"/ .
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment