Création de git dans RStudio

Bonjour

Marina Ferrand et moi travaillons sur un projet RStudio dans un dossier partagé (tutorat DU-ii). Le partage du dossier avec RStudio fonctionne comme sur des roulettes, merci !

Un petit problème se manifeste quand nous essayons de créer un dépôt git à partir de notre projet partagé. Nous suivons les instructions de ce site: https://hansenjohnson.org/post/sync-github-repository-with-existing-r-project/

Voici les opérations et les messages:

Tools-> Version control -> Project Setup ...

Dans la fenêtre qui apparaît nous choisissons Version Control system -> git

Il demande "Do you want to initialize anew git repository for this project ?"
On clique "Yes", et il répond

"Operation not permitted".

Y a-t-il une façon de configurer le serveur pour permettre de créer un dépôt git ? C'est important pour les développeurs, et pour la formation.

Un grand merci,

Jacques

En dépit du message d'erreur, le dossier .git avait bien été créé !
Il est vraisemblable que les messages d'erreur qu'on a reçus quand on refaisait des essais (Marina et moi, séparément) provenaient de l'existence du .git, mais je ne comprends pas pourquoi le message a été émis à la première tentative.

En totu ca sle problème ponctuel est résolu, je vérifierai s'il se présente à nouveau.

Tout compte fait il y a vraiment un problème: la commande git add fonctionne, mais pas git commit.

[jvanhelden@rstudio Rmd]$ git commit -m 'added R markdown for metabolome analysis - in construction' .
error: unable to create temporary file: Device or resource busy
fatal: failed to write commit object

J'ai pourtant les droits d'accès sur le dossier de travail et sur le sous-dossier .git

Je suis dans le dossier
/shared/home/jvanhelden/StressNet/scripts/Rmd

touch test1
touch .git/test2
rm test1
rm .git/test2

les fichiers sont créés sans problème

Comme le chemin inclut un lien logique, j'essaie aussi depuis le chemin complet:
/shared/data/projects/du_bii_2019/mferrand/StressNet/scripts/Rmd

Et là surprise, j'ai un autre message d'erreur

[jvanhelden@rstudio Rmd]$ git commit -m 'added R markdown file for metabolic analysis - in construction' .
error: unable to create directory for .git/logs/refs/heads/master
fatal: cannot update HEAD ref

Mais la raison semble être la même

[jvanhelden@rstudio Rmd]$ mkdir .git/logs/refs/heads/master
mkdir: cannot create directory ‘.git/logs/refs/heads/master’: Device or resource busy

Pourtant j'ai les droits rwx sur tous les dossiers intermédiaires.
[jvanhelden@rstudio Rmd]$ ls -ltr .git/logs/refs/heads/master
total 0
[jvanhelden@rstudio Rmd]$ ls -ltr .git/logs/refs/heads/
total 0
drwxrwx---+ 2 jvanhelden jvanhelden 0 Apr 4 15:54 master
[jvanhelden@rstudio Rmd]$ ls -ltr .git/logs/refs/
total 0
drwxrwx---+ 3 jvanhelden jvanhelden 0 Apr 4 15:54 heads
[jvanhelden@rstudio Rmd]$ ls -ltr .git/logs/
total 0
drwxrwx---+ 3 jvanhelden jvanhelden 0 Apr 4 15:50 refs
[jvanhelden@rstudio Rmd]$ ls -ltr .git/
total 1982
drwxrwx---+ 4 jvanhelden jvanhelden 0 Apr 4 15:26 refs
-rw-rw----+ 1 mferrand mferrand 73 Apr 4 15:26 description
drwxrwx---+ 2 mferrand mferrand 0 Apr 4 15:26 branches
drwxrwx---+ 2 mferrand mferrand 24000 Apr 4 15:28 info
drwxrwx---+ 2 mferrand mferrand 1001444 Apr 4 15:28 hooks
-rw-rw----+ 1 mferrand mferrand 23 Apr 4 15:28 HEAD
-rw-rw----+ 1 jvanhelden jvanhelden 92 Apr 4 15:33 config
-rw-rw----+ 1 jvanhelden jvanhelden 272 Apr 4 15:39 index
drwxrwx---+ 13 mferrand mferrand 1000616 Apr 4 15:50 objects
drwxrwx---+ 3 jvanhelden jvanhelden 0 Apr 4 15:50 logs
-rw-rw----+ 1 jvanhelden jvanhelden 63 Apr 4 15:50 COMMIT_EDITMSG
[jvanhelden@rstudio Rmd]$ ls -ltrd .git/
drwxrwx---+ 8 jvanhelden jvanhelden 1002135 Apr 4 15:50 .git/

Bon, j'y comprends rien, mais apparemment il y a un problème pour la création de dossiers dans cet espace. Si un super-admin pouvait nous tirer d'affaire on serait très reconnaissants.

Merci pour votre aide

Jacques

Bonjour Jacques,

Nous connaissons ce problème Device or resource busy dû au système de stockage.
Je ne pense donc pas que ce soit lié à rstudio ou à git.
Je me suis permis de lancer un test aujourd'hui qui accentue ou provoque ce problème. Je peux l'arrêter si nécessaire ou si c'est trop handicapant.

Dans tous les cas, nous étudions différentes options pour solutionner ce problème.

Salut David,

Un grand merci pour la répons rapide.
Un détail qui pourrait être utile (mais tu le sais peut-être déjà): le problème se manifeste quand je teste l'écriture sur le serveur RStudio (soit via la fenêtre GUI git de RStudio, soit l'onglet "terminal" à l'intérieur de RStudio). Par contre si je fais une simple connection ssh à core.cluster.france-bioinformatique.fr je peux sans problème faire les git commit.

Sur le serveur RStudio, Marina a expérimenté hier quelques crashes de R et des problèmes de lecture de fichier (no such file or directory) , mais aujourd'hui tout fonctionne bien (avec une certaine lenteur pour soumettre les commandes). J'imagine que ceci peut être lié au test que tu fais, mais je le signale pour le cas où ce serait informatif.

A bientôt

Jacques

Bonjour Jacques,

C'est noté. Pour info aussi, le test s'est finit dans le nuit. A surveiller...

A bientôt.

J'ai à nouveau le problème d'accès au disque depuis le terminal de RStudio.

Ca m'a l'air plus subtil: je peux accéder au disque, créer des dossiers, des fichiers , mais quand je fais git clone il crée le dossier et ensuite s'arrête.

De plus, une fois que le dossier a été créé si je lance rm -rf cisreg-GWASle dossier reste sur place.

Encore plus fort: j'alterne entre terminal ouvert par ssh à core-cluster, et terminal ouvert sous RStudio.

  • je peux faire le git clone à partir de ma session ssh
[jvanhelden@clust-slurm-client ~]$ git clone https://github.com/YvonFrid/cisreg-GWAS.git
Cloning into 'cisreg-GWAS'...
remote: Enumerating objects: 723, done.
remote: Counting objects: 100% (723/723), done.
remote: Compressing objects: 100% (391/391), done.
remote: Total 723 (delta 372), reused 642 (delta 296), pack-reused 0
Receiving objects: 100% (723/723), 1.82 MiB | 3.49 MiB/s, done.
Resolving deltas: 100% (372/372), done.
Checking out files: 100% (84/84), done.

Ensuite je passe au terminal RStudio: je peux effacer les fichiers, mais les dossiers et tous-dossiers restent là.

[jvanhelden@rstudio ~]$ ls -lt cisreg-GWAS
total 6
drwxr-xr-x 3 jvanhelden jvanhelden 5300 Jul 31 00:00 cisreg-GWAS_wf
[jvanhelden@rstudio ~]$ ls -ltr cisreg-GWAS
total 1958
-rw-rw-r-- 1 jvanhelden jvanhelden    3056 Jul 31 00:02 README.md
-rw-rw-r-- 1 jvanhelden jvanhelden      27 Jul 31 00:02 _config.yml
-rw-rw-r-- 1 jvanhelden jvanhelden     228 Jul 31 00:02 cisreg-GWAS.Rproj
drwxrwxr-x 6 jvanhelden jvanhelden 2000683 Jul 31 00:03 cisreg-GWAS_wf
[jvanhelden@rstudio ~]$
[jvanhelden@rstudio ~]$ rm -rf cisreg-GWAS
rm: cannot remove ‘cisreg-GWAS/cisreg-GWAS_wf’: Directory not empty
[jvanhelden@rstudio ~]$ ls -ltr cisreg-GWAS
total 19
drwxrwxr-x 3 jvanhelden jvanhelden 18800 Jul 31 00:03 cisreg-GWAS_wf

Je repasse au terminal ssh et je supprime le dossier. Tout a l'air de bien se passer.

[jvanhelden@clust-slurm-client ~]$ ls -ltr cisreg-GWAS
total 79
drwxrwxr-x 3 jvanhelden jvanhelden 80200 Jul 31 00:03 cisreg-GWAS_wf
[jvanhelden@clust-slurm-client ~]$ rm -rf cisreg-GWAS
[jvanhelden@clust-slurm-client ~]$ ls -ltr cisreg-GWAS
ls: cannot access cisreg-GWAS: No such file or directory

Le bouquet: je reviens au terminal RStudio , et je demande simplement de lister les fichiers du dossier que je viens de supprimer au terminal ssh.

[jvanhelden@rstudio ~]$ ls -ltr cisreg-GWAS
total 15
drwxr-xr-x 3 jvanhelden jvanhelden 14900 Jul 31 00:06 cisreg-GWAS_wf

Le dossier vide et son sous-dossier sont toujours là.
Encore plus fort: le simple fait de les invoquer sur le terminal RStudio les a aussi ressuscités sur le terminal ssh.

[jvanhelden@clust-slurm-client ~]$ ls -ltr cisreg-GWAS
total 978
drwxr-xr-x 3 jvanhelden jvanhelden 1000504 Jul 31 00:06 cisreg-GWAS_wf

C'est de la magie !

Bonjour Jacques,

Merci pour l'info. Je reproduis également l'erreur sur mon environnement.

Cela semble toujours lié au comportement étrange avec le stockage (MooseFS / CentOS / kernel / libfuse).
Une issue est d'ailleurs ouverte sur MooseFS: https://github.com/moosefs/moosefs/issues/98
Le cas est ici peut-être accentué dû à un léger décalage de version du client MooseFS sur RStudio.

On continue à investiguer.

Bonne journée