2 votes

git-p4 et les fichiers de grande taille

J'essaie de convertir un dépôt Perforce(p4) en git (de préférence en Helix4Git, une implémentation du serveur git par perforce).

Je réduis mon problème à un cas d'utilisation simple afin de trouver la solution à mon problème plus important.

Dans P4, j'ai un fichier //depot/foo.txt qui est de 10MB. Je l'ai "cloné" en utilisant la commande de fusion de P4, ce qui fait que j'ai deux fois le même fichier dans mon référentiel, appelé //depot/bar.txt .

//depot
    .. foo.txt (10MB) [internal-id==> 4509b9a8.txt]
    .. bar.txt (10MB, clone of foo.txt) [internal-id==> 4509b9a8.txt]

Le serveur P4 stocke le fichier une fois en utilisant deux liens en interne pour réduire l'espace disque utilisé, de sorte que seuls 10 Mo sont utilisés. Sur un disque local, j'aurais cependant deux copies physiques (10+10=20MB). Maintenant, voici le problème :

J'utilise git-p4 pour convertir mon dépôt P4 en git. D'abord, je le clone sur mon ordinateur local, puis je configure un git-remote et je soumets tout pour l'avoir finalement sur mon serveur git.

Comme mentionné précédemment, j'ai 20MB sur mon disque local et lorsque je le soumets à mon serveur git, il utilise également 20MB.

1) Si je clone un fichier dans git, est-il aussi physiquement cloné sur le serveur ?

2) Y a-t-il une chance que git-p4 ou le serveur git détecte ce "clone" - qu'il s'agit du même fichier - et utilise également des liens en interne ? Soit par le serveur git lui-même, soit en utilisant une fonctionnalité du système de fichiers (soft-link ou hard-link, etc.).

Question supplémentaire) Est-ce que macOS APFS pour le serveur git serait d'une quelconque utilité ici ?

Merci beaucoup !

0voto

Tony Heupel Points 947

Lorsque vous avez déplacé les fichiers clonés dans Git, ils seront stockés séparément . Git ne stocke que le contenu du fichier et ses permissions. Les métadonnées et l'inode ID ne sont pas suivis.

Votre meilleure chance d'ajouter le clone à gitignore o .git/info/exclude

Référence : Entrez la description du lien ici

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X