WebTools Git/fr



Note : à partir de FreeCAD v0.17, cet outil a été enlevé de l'atelier Arch et fait maintenant partie de l'atelier externe WebTools qui peut être installé depuis le menu Outils → Addons Manager.

Description
Cette commande permet de gérer le document actif via GIT. GIT est un puissant système de révisions de versions, et peut gérer des versions différentes de fichiers et garder une trace des changements.

Git est un outil complexe, considérez d'en apprendre les bases avant d'utiliser cet outil, afin d'éviter des opérations malavisées qui pourraient causer des pertes de données. Une littérature abondante sur Git est disponible et facile à trouver sur Internet.

Limitations actuelles :


 * L'outil ne peut pas créer de nouveaux dépôts pour l'instant. Vous devez avoir créé au préalable un dépôt local (FreeCAD vérifiera si le document courant est dans un dépôt Git)
 * L'outil ne peut pas changer ou créer des branches. Vous devez le faire manuellement avec les outils Git standard.

Note : pour pouvoir utiliser cette commande, le paquet gitpython doit être installé sur votre système. Sur la plupart des distributions Linux, gitpython est disponible à partir des dépôts de logiciels standards sous le nom gitpython ou python-git.

Utilisation

 * 1) Sauvegardez le document actif
 * 2) Assurez-vous que le fichier enregistré fait déjà partie d'un dépôt git
 * 3) Selectionnez le menu Arch → Utilitaires →

Options



 * Vous ne devez "commiter" que le fichier sauvé par FreeCAD, ou tous les fichiers modifiés et qui sont aussi dans le GIT.
 * Vous pouvez optionnellement aussi "pousser" la branche par défaut dans la branche GIT courante.

Enabling human-readable diff for FCStd files
FreeCAD's Fcstd file format is a zip-based binary format, for which Git cannot produce proper diffs. This means that you cannot see what has changed between one version and another, and also that each new version stored in the Git repository is a full copy of the file.

Although the second problem currently has no solution, the first one can be solved with a little tool available from the FreeCAD source code, called fcinfo. Git can be told to use the fcinfo utility to print a human-friendly report of a FCStd file, and, when asked to produce a diff between two FCStd files, will produce a diff between the two fcinfo reports instead. Please note that this is only visual feedback, a full copy of the file will still be stored internally.

Example of a diff produced with fcinfo:

Each FreeCAD file contains a SHA1 checksum number, which will change each time the file is saved, even if no contents was changed. So fcinfo will always print something, no matter of the contents changes.

To enable the use of fcinfo (Linux and Mac only - TODO: add Windows instructions)

*.FCStd diff=fcinfo
 * 1) Save the fcinfo file somewhere in your system path
 * 2) Make it executalbe
 * 3) Create a .gitattributes file in your Git repository
 * 4) Add the following line in it: