Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

Git-Sizer – Pour vous aider à faire maigrir vos dépôts Git

Github, qu'on ne présente plus, a mis en ligne sous licence MIT, git-sizer, un outil en ligne de commande, développé en Go, destiné à aider les développeurs à faire maigrir leur dépôt git.

Étant donné que chez Github, ils ont une bonne expérience de ce qui prend de la place dans les dépôts git, ils sont capables d'évaluer l'état de votre dépôt et de vous indiquer avec où se situe le votre par rapport à une moyenne réalisée sur les 78 millions de dépôts, hébergés par Github.

D'après les experts de Github, un dépôt devrait toujours être en dessous des 1GB. Au-delà de 5 GB, ça commence à devenir craignos. En général, cela est dû au stockage de fichiers générés, aux blobs (médias vidéo, photo, binaires. etc.) alors qu'il est possible de les stocker hors dépôt grâce à Git-LFS, aux zip et autres fichiers tar qui se retrouvent là par manque de rigueur, sans oublier les trop nombreux tags et branches qui ne servent pas à grand-chose, les arborescences contenant plus de 200 répertoires et sous répertoires, les fichiers textes très gros versionnés, ou tout simplement un trop grand nombre d'objets référencés. Et dans ce cas-là, c'est peut-être pas con de diviser son projet en sous-projets plus modestes.

Il existe encore de très nombreuses raisons qui font qu'un git peut être trop gros et pour les connaitre, je vous invite à lire la doc de git-sizer ici.

Pour installer Git-Sizer, vérifiez bien que vous avez le dernier client git >=2.6, puis rendez-vous ici pour récupérer le binaire qui correspond à votre système d'exploitation. Dézippez-le puis rendez l’exécutable et ajoutez le répertoire d'installation à votre PATH pour pouvoir le lancer directement depuis vos dépôts.

Placez-vous ensuite dans le dépôt dont vous voulez évaluer la taille et lancez la commande

git-sizer --verbose

Et vous obtiendez un joli résultat comme celui-ci (là ça concerne le dépôt Linux)

$ git-sizer --verbose
Processing blobs: 1652370
Processing trees: 3396199
Processing commits: 722647
Matching commits to trees: 722647
Processing annotated tags: 534
Processing references: 539
| Name                         | Value     | Level of concern               |
| ---------------------------- | --------- | ------------------------------ |
| Overall repository size      |           |                                |
| * Commits                    |           |                                |
|   * Count                    |   723 k   | *                              |
|   * Total size               |   525 MiB | **                             |
| * Trees                      |           |                                |
|   * Count                    |  3.40 M   | **                             |
|   * Total size               |  9.00 GiB | ****                           |
|   * Total tree entries       |   264 M   | *****                          |
| * Blobs                      |           |                                |
|   * Count                    |  1.65 M   | *                              |
|   * Total size               |  55.8 GiB | *****                          |
| * Annotated tags             |           |                                |
|   * Count                    |   534     |                                |
| * References                 |           |                                |
|   * Count                    |   539     |                                |
|                              |           |                                |
| Biggest objects              |           |                                |
| * Commits                    |           |                                |
|   * Maximum size         [1] |  72.7 KiB | *                              |
|   * Maximum parents      [2] |    66     | ******                         |
| * Trees                      |           |                                |
|   * Maximum entries      [3] |  1.68 k   |                                |
| * Blobs                      |           |                                |
|   * Maximum size         [4] |  13.5 MiB | *                              |
|                              |           |                                |
| History structure            |           |                                |
| * Maximum history depth      |   136 k   |                                |
| * Maximum tag depth      [5] |     1     | *                              |
|                              |           |                                |
| Biggest checkouts            |           |                                |
| * Number of directories  [6] |  4.38 k   | **                             |
| * Maximum path depth     [7] |    13     | *                              |
| * Maximum path length    [8] |   134 B   | *                              |
| * Number of files        [9] |  62.3 k   | *                              |
| * Total size of files    [9] |   747 MiB |                                |
| * Number of symlinks    [10] |    40     |                                |
| * Number of submodules       |     0     |                                |

[1]  91cc53b0c78596a73fa708cceb7313e7168bb146
[2]  2cde51fbd0f310c8a2c5f977e665c0ac3945b46d
[3]  4f86eed5893207aca2c2da86b35b38f2e1ec1fc8 (refs/heads/master:arch/arm/boot/dts)
[4]  a02b6794337286bc12c907c33d5d75537c240bd0 (refs/heads/master:drivers/gpu/drm/amd/include/asic_reg/vega10/NBIO/nbio_6_1_sh_mask.h)
[5]  5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c (refs/tags/v2.6.11)
[6]  1459754b9d9acc2ffac8525bed6691e15913c6e2 (589b754df3f37ca0a1f96fccde7f91c59266f38a^{tree})
[7]  78a269635e76ed927e17d7883f2d90313570fdbc (dae09011115133666e47c35673c0564b0a702db7^{tree})
[8]  ce5f2e31d3bdc1186041fdfd27a5ac96e728f2c5 (refs/heads/master^{tree})
[9]  532bdadc08402b7a72a4b45a2e02e5c710b7d626 (e9ef1fe312b533592e39cddc1327463c30b0ed8d^{tree})
[10] f29a5ea76884ac37e1197bef1941f62fda3f7b99 (f5308d1b83eba20e69df5e0926ba7257c8dd9074^{tree})

Plus il y a d'étoiles, plus c'est mauvais, car la note dépasse la moyenne des autres dépôts git présents sur Github. Donc ça vous permettra de mieux cibler vos efforts pour réaliser la cure d'amaigrissement de votre dépôt.

Les sources et la doc de Git-Sizer sont ici.

Amusez-vous bien !

Source


Sécurité et vitesse pour votre connexion internet

Restez à l’abris des regards indiscrets

En règle générale, utiliser un VPN pour se connecter à internet a tendance à ralentir vos débits de connexions, c’est le cas pour afficher une simple page HTML ou accéder à d’autres catalogues de VOD comme ceux de NETFLIX. Le téléchargement de fichiers ou du flux vidéo en devient parfois saccadé.

Notre VPN vous propose Une bande passante illimitée et une sécurité renforcée avec un cryptage AES 256 et un système anti-empreintes digitales

Restez éfficace et anonyme



Rejoindre la discussion sur Korben Communauté

Vérifiez la sécurité de votre compte Gmail

Je ne recommande à personne d’utiliser une boite mail Gmail pour tout un tas de raisons liées à l’exploitation des données personnelles, au patriot act, en passant par la lecture automatisée des emails…etc.

Toutefois si vous avez encore un compte Gmail, qui plus est, ancien mais encore en activité, il serait peut-être bien de vérifier la qualité de sa sécurité. …

Lire la suite



Comment bloquer Red Shell, le spyware des gamers

Si vous suivez un peu l’actualité du jeu vidéo, vous n’avez surement pas manqué la polémique Red Shell. Cet outil mis sur le marché en 2017 par la société Innervate est très utilisé par les éditeurs de jeux pour mesurer la quantité de nouvelles installations de leurs jeux générés par une pub Facebook, YouTube ou Twitter.

Lire la suite



Mettre en place un backup de Github

C’est cool de faire confiance à des sites pour conserver nos données, mais il peut arriver à un moment que celles-ci disparaissent. Soit parce que vous ne respectez plus les CGU du site, soit parce que le site a subi une panne vraiment importante et que leur processus de sauvegarde a été négligé, soit parce que vous avez vous-même supprimé vos données par erreur tel un gros boulet (ça arrive souvent aussi, même aux meilleurs).

Lire la suite