10
votes

Comment découvrir les exigences de l'espace des fichiers à engager?

Je vais archiver un ancien projet énorme contenant beaucoup de déchets. J'espère que je n'en aurai plus jamais besoin, mais je veux mettre toutes les choses importantes sous contrôle de la version. En raison du chaos du projet, il n'est pas facile de dire quelles sont les sources et ce qui peut disparaître (il n'y a pas de Makefile , aucun propre , rien). Je voudrais donc y mettre presque tout et considérez uniquement les fichiers les plus importants d'exclusion.

Comment puis-je énumérer les fichiers à être commis (ou à mettre en scalne) avec leur taille?

Je pourrais écrire un script ou autre chose, mais j'espère une solution plus simple. Je travaille sous Cygwin et la seule interface graphique disponible est Git GUI qui ne montre pas la taille des fichiers. Sinon, ce serait parfait pour ce dont j'ai besoin.


2 commentaires

"Mais je veux mettre toutes les choses importantes sous la version de contrôle" - les choses importantes sont sûrement sous contrôle source?


Non, c'est un projet mono-homme par quelqu'un qui n'utilise pas VC du tout. Comme je travaille dessus, j'ai utilisé SVN pour mes changements uniquement, la plus tard, la convertit à Git et que je souhaite maintenant ajouter tous les autres fichiers éventuellement importants, donc c'est sûr quelque part au cas où ...


3 Réponses :


-1
votes

Je ne sais pas à propos de Git, mais si vous utilisez mercurial, vous pouvez utiliser une combinaison de: xxx


0 commentaires

1
votes

à une première approximation, du -sk. en haut de l'arborescence de répertoire vous donnera l'espace nécessaire. Après avoir fait git gc , il pourrait s'agir d'un surestimé.

Mais vous auriez dû utiliser le contrôle de la version bien avant d'atteindre le point de retirer le projet.


0 commentaires

2
votes

Vous pouvez essayer ceci. Il trouve tous les fichiers de plus de 1 m et les trie du plus grand au plus petit. Les tailles de fichiers imprimées sont en octets: xxx

sortie: xxx

mise à jour: boucle sur les fichiers renvoyés par trouver et imprimer leur git Statut: xxx


3 commentaires

Mais ça ne me dis pas s'ils sont déjà suivis. Il y a beaucoup de gros fichiers là-bas, certains d'entre eux sont importants, certains d'entre eux déjà suivis, gros chaos ...


Oups, ça sonne jolie chaotique! J'ai mis à jour la réponse, espérons que cela est plus utile.


Cela semble beaucoup mieux, sauf que git ls-files -t -t semble imprimer uniquement pour tous les fichiers non traqués. La page de l'homme m'a conduit à Statut de git --porcelain qui imprime ?? pour ces fichiers à moins qu'ils ne soient ignorés. Un simple grep et c'est résolu.