From d6229e8baefbb83d1140e51c94ddc72f2e9c5b1a Mon Sep 17 00:00:00 2001
From: Marc Mezzarobba Le logiciel Le logiciel Il permet également, comme beaucoup de ses congénères, de travailler Ã
-plusieurs sur un même projet. Mais contrairement à CVS ou Subversion, par
-exemple, Git ne fait pas de différence entre un dépôt principal et les
-copies locales chez les différents contributeurs. Il permet également, comme beaucoup de ses congénères, de travailler à
+plusieurs sur un même projet. Mais contrairement à CVS ou Subversion, par
+exemple, Git ne fait pas de différence entre un dépôt principal et les
+copies locales chez les différents contributeurs. Ce système permet également une organisation hiérarchisée de
+ Ce système permet également une organisation hiérarchisée de
gros projets, comme c'est le cas du noyau Linux, en rendant
-complètement naturelle l'existence de dépôts alternatifs pour chaque
-sous-projet, avec une granularité de modifications très fine, et Ã
-plus grande échelle, une faible granularité du dépôt principal qui
-reçoit périodiquement les modifications par paquets.Contrôle de versions avec Git
+Contrôle de versions avec Git
C'est quoi ?
-git
est utilisé notamment par les développeurs
-du noyau Linux. Il s'agit d'un logiciel de contrôle de version, comme SVN,
-CVS, Arch ou encore Darcs, qui utilise des dépôts décentralisés. Il permet
-ainsi de travailler tout en gardant une trace des modifications apportées
-successivement, et de retrouver ainsi l'état antérieur de ses données.git
est utilisé notamment par les développeurs
+du noyau Linux. Il s'agit d'un logiciel de contrôle de version, comme SVN,
+CVS, Arch ou encore Darcs, qui utilise des dépôts décentralisés. Il permet
+ainsi de travailler tout en gardant une trace des modifications apportées
+successivement, et de retrouver ainsi l'état antérieur de ses données.
à l'inverse, pour travailler à deux, git
évite le
-casse-tête des droits d'accès dans le dépôt de l'autre. On peut en
-effet travailler de manière totalement symétrique, chacun recopiant
-les modifications de l'autre : il suffit d'un accès en lecture aux
+
À l'inverse, pour travailler à deux, git
évite le
+casse-tête des droits d'accès dans le dépôt de l'autre. On peut en
+effet travailler de manière totalement symétrique, chacun recopiant
+les modifications de l'autre : il suffit d'un accès en lecture aux
fichiers de ses collaborateurs.
J'expliquerai ici comment se servir de la version 1.5 de
git. Dans la version 1.4, par exemple, la commande git init
-est appelée git init-db
. Cette dernière, dans la version
+est appelée git init-db
. Cette dernière, dans la version
1.5, n'est qu'un autre nom pour git init
.
Pour créer un dépôt git
, il suffit de taper la commande
-suivante dans son répertoire de travail (que nous désignerons dans la
+
Pour créer un dépôt git
, il suffit de taper la commande
+suivante dans son répertoire de travail (que nous désignerons dans la
suite par monsiteweb
).
git init-
Le dépôt est initialement vide. Imaginons que l'on souhaite +
Le dépôt est initialement vide. Imaginons que l'on souhaite
suivre les modifications du fichier sommaire.html
qui se
-trouve dans le répertoire monsiteweb
.
monsiteweb
.
git add sommaire.html git commit-
La première indique à git notre modification : le fichier
-sommaire.html
existe et doit être pris en compte. Il n'est
+
La première indique à git notre modification : le fichier
+sommaire.html
existe et doit être pris en compte. Il n'est
pas toujours pertinent de suivre les modifications de n'importe quel
-fichier. En particulier, lorsque des fichiers sont engendrés
-automatiquement à partir de fichiers source, ce sont les fichiers
-source et les générateurs qu'il est important de conserver. La
-commande git commit
sert à enregistrer dans le dépôt les
-modifications apportées.
git commit
sert à enregistrer dans le dépôt les
+modifications apportées.
Lors d'un check-in (avec la commande git
commit
), git demande un texte de journal (commit
-log). Ce texte permet de repérer facilement les modifications
-effectuées par chaque commit, aussi bien pour les autres que pour
-soi-même. Chaque commit est identifié par un numéro unique,
-représenté comme une suite de chiffres hexadécimaux. Ce numéro sert
-de référence, par exemple, lors qu'on veut annuler une
+log). Ce texte permet de repérer facilement les modifications
+effectuées par chaque commit, aussi bien pour les autres que pour
+soi-même. Chaque commit est identifié par un numéro unique,
+représenté comme une suite de chiffres hexadécimaux. Ce numéro sert
+de référence, par exemple, lors qu'on veut annuler une
modification.
La commande git add
ajoute un fichier dans le dépôt. On
-peut également s'en servir pour des répertoires entiers. Les
-commandes suivantes permettent ainsi de créer et remplir un dépôt git
-dans un répertoire avec tout son contenu.
La commande git add
ajoute un fichier dans le dépôt. On
+peut également s'en servir pour des répertoires entiers. Les
+commandes suivantes permettent ainsi de créer et remplir un dépôt git
+dans un répertoire avec tout son contenu.
git init git add * git commit-
.git
du répertoire où il a été créé. Ce dépôt peut différer du
-contenu du répertoire proprement dit, si on a modifié les fichiers depuis
-le dernier commit ou si on a importé les modifications d'un autre
-contributeur. Noter que ce répertoire est souvent invisible dans les
+.git
du répertoire où il a été créé. Ce dépôt peut différer du
+contenu du répertoire proprement dit, si on a modifié les fichiers depuis
+le dernier commit ou si on a importé les modifications d'un autre
+contributeur. Noter que ce répertoire est souvent invisible dans les
explorateurs de fichiers et dans la sortie de la commande ls
,
-puisque son nom commence par un point. Les dépôts git peuvent être
-compressés pour occuper moins de place (voir la commande git
+puisque son nom commence par un point. Les dépôts git peuvent être
+compressés pour occuper moins de place (voir la commande git
repack
et git gc
).
On dispose d'une interface graphique (git-gui
) et d'une
-interface Web (gitweb) pour explorer agréablement un dépôt git.
Une autre manière de créer un dépôt git consiste à cloner un dépôt déjÃ
-existant. Si la dénommée Xanadu possède un dépôt git dans son répertoire
-/home/xanadu/these
, le dénommé Yoda peut l'aider en clonant
-son dépôt par la commande suivante
Une autre manière de créer un dépôt git consiste à cloner un dépôt déjà
+existant. Si la dénommée Xanadu possède un dépôt git dans son répertoire
+/home/xanadu/these
, le dénommé Yoda peut l'aider en clonant
+son dépôt par la commande suivante
git clone /home/xanadu/these cible-
où cible
est le répertoire qui contiendra la copie. Yoda
-peut alors travailler librement dans le répertoire cible
comme
-sur n'importe quel dépôt git dont il est le propriétaire.
où cible
est le répertoire qui contiendra la copie. Yoda
+peut alors travailler librement dans le répertoire cible
comme
+sur n'importe quel dépôt git dont il est le propriétaire.
ssh://login@machine/home/xanadu/these
, si le
-répertoire se trouve sur une machine à laquelle on accède par
+répertoire se trouve sur une machine à laquelle on accède par
ssh
. La plupart des projets de logiciels libres indiquent des
adresses de la forme git://git.logiciel.org/trunk
ou encore
http://git.logiciel.org/trunk
.Yoda effectue alors quelques opérations sur les fichiers. Il enregistre -régulièrement ses modifications dans le dépôt proprement dit en tapant
+Yoda effectue alors quelques opérations sur les fichiers. Il enregistre +régulièrement ses modifications dans le dépôt proprement dit en tapant
git commit -a@@ -126,91 +126,91 @@ régulièrement ses modifications dans le dépôt proprement dit en tapa modifications.
Si d'aventure Xanadu continuait de travailler sur son projet, Yoda peut -importer les dernières modifications en lançant la commande +importer les dernières modifications en lançant la commande
git pull-
dans son dépôt. Quant à Xanadu, si elle veut bénéficier des -modifications apportées par Yoda, se trouvant dans le répertoire +
dans son dépôt. Quant à Xanadu, si elle veut bénéficier des
+modifications apportées par Yoda, se trouvant dans le répertoire
/home/yoda/cible
, elle peut lancer la commande suivante chez
elle.
git pull /home/yoda/cible-
Si Yoda pouvait accéder en écriture aux fichiers de Xanadu, il -pourrait également lui transmettre ses modifications par la commande +
Si Yoda pouvait accéder en écriture aux fichiers de Xanadu, il +pourrait également lui transmettre ses modifications par la commande
git push-
Entraînée par sa paresse naturelle, Xanadu aimerait facilement récupérer -les modifications de Yoda sans avoir à se rappeler le répertoire exact où -il les enregistre. Elle définit donc un raccourci de la manière +
Entraînée par sa paresse naturelle, Xanadu aimerait facilement récupérer +les modifications de Yoda sans avoir à se rappeler le répertoire exact où +il les enregistre. Elle définit donc un raccourci de la manière suivante
git remote add yoda /home/yoda/cible
La commande git remote show yoda
permet de consulter
-les informations sur le dépôt de Yoda, et git pull yoda
-permet de récupérer directement ses modifications. On peut également
+les informations sur le dépôt de Yoda, et git pull yoda
+permet de récupérer directement ses modifications. On peut également
utiliser les commandes
git fetch yoda git merge yoda/master-
Ici, master
est la branche du dépôt de Yoda
-que Xanadu souhaite utiliser. Un dépôt git peut comporter plusieurs
-branches correspondant à autant de directions différentes de
-développement. Ce système permet d'essayer diverses orientations, avant de
+
Ici, master
est la branche du dépôt de Yoda
+que Xanadu souhaite utiliser. Un dépôt git peut comporter plusieurs
+branches correspondant à autant de directions différentes de
+développement. Ce système permet d'essayer diverses orientations, avant de
retenir la meilleure. La commande git remote show
permet de
-voir la liste des branches d'un dépôt enregistré dans la liste des
+voir la liste des branches d'un dépôt enregistré dans la liste des
remotes
Contrairement à git, Subversion, dans un usage normal, ne clone pas -entièrement le dépôt distant avec ses modifications successives, mais -conserve seulement une copie de la dernière version. Il est possible -d'utiliser le modèle de travail de git tout en interagissant avec un dépôt +
Contrairement à git, Subversion, dans un usage normal, ne clone pas
+entièrement le dépôt distant avec ses modifications successives, mais
+conserve seulement une copie de la dernière version. Il est possible
+d'utiliser le modèle de travail de git tout en interagissant avec un dépôt
Subversion en utilisant le script git-svn
. Ceci permet, par
-exemple, de travailler facilement à plusieurs sur un sous-projet donné, en
-envoyant périodiquement le résultat du travail.
git-svn clone http://svn.site.org/svnroot/projet -T trunk -b branches -t tags-
La commande précédente permet d'importer la totalité d'un projet
-Subversion, avec ses différentes branches et tags (correpondant
-généralement aux différentes versions publiées). Attention, cela prend
-généralement beaucoup de place. Cependant, l'utilisation de
-git-gc
permet de compresser les données et réduit l'espace
-occupé à l'ordre de grandeur de la taille d'un checkout Subversion
+
La commande précédente permet d'importer la totalité d'un projet
+Subversion, avec ses différentes branches et tags (correpondant
+généralement aux différentes versions publiées). Attention, cela prend
+généralement beaucoup de place. Cependant, l'utilisation de
+git-gc
permet de compresser les données et réduit l'espace
+occupé à l'ordre de grandeur de la taille d'un checkout Subversion
(mais ici on garde tout l'historique).
On peut alors travailler normalement sur son dépôt. Les +
On peut alors travailler normalement sur son dépôt. Les commandes
git-svn rebase git-svn dcommit
permettent respectivement de recevoir et d'envoyer les modifications -apportées.
+apportées. -Pour aspirer le contenu d'un dépôt CVS avec son historique et -l'enregistrer sous forme de dépôt git, on dispose de la commande +
Pour aspirer le contenu d'un dépôt CVS avec son historique et
+l'enregistrer sous forme de dépôt git, on dispose de la commande
git-cvsimport
.
git-cvsimport -d:pserver:anonymous@cvs.truc.org:/sources projet
On peut ajouter l'option -p -Z,3
pour
activer la compression. Pour utiliser git-cvsimport
, il faut
-au préalable s'assurer de la présence du programme cvsps
sur
+au préalable s'assurer de la présence du programme cvsps
sur
son ordinateur.
Pour aspirer le contenu d'un dépôt Arch avec son historique et -l'enregistrer sous forme de dépôt git, on dispose de la commande +
Pour aspirer le contenu d'un dépôt Arch avec son historique et
+l'enregistrer sous forme de dépôt git, on dispose de la commande
git-archimport
.
machine $ tla register-archive http://arch.foobar.org/archives/software @@ -218,9 +218,9 @@ user@arch.foobar.org machine $ tla my-default-archive user@arch.foobar.org machine $ git-archimport software--devo--0:master-
L'utilisation de git-archimport
requiert la présence
-du client tla
qui est la façon la plus commune d'accéder aux
-dépôts GNU Arch.
L'utilisation de git-archimport
requiert la présence
+du client tla
qui est la façon la plus commune d'accéder aux
+dépôts GNU Arch.
Cette page a pour but de montrer comment on peut utiliser le - programme XeTeX pour utiliser facilement des polices extérieures et - taper du texte dans des systèmes d'écriture latins ou non latins.
+ programme XeTeX pour utiliser facilement des polices extérieures et + taper du texte dans des systèmes d'écriture latins ou non latins.XeTeX est un programme basé sur TeX, qui en est une variante (les - fichiers écrits pour l'un pour l'autre ne seront pes nécessairement - compatibles). Il a d'abord été conçu pour fonctionner avec Mac OS X - mais fonctionne aujourd'hui avec une grande diversité de systèmes.
+XeTeX est un programme basé sur TeX, qui en est une variante (les + fichiers écrits pour l'un pour l'autre ne seront pes nécessairement + compatibles). Il a d'abord été conçu pour fonctionner avec Mac OS X + mais fonctionne aujourd'hui avec une grande diversité de systèmes.
-Un de ses grands avantages est de gérer tout à fait correctement les - fichiers encodés en UTF-8, et les polices TrueType et OpenType, ce qui - permet de bénéficier des mêmes possiblités techniques que les logiciels +
Un de ses grands avantages est de gérer tout à fait correctement les + fichiers encodés en UTF-8, et les polices TrueType et OpenType, ce qui + permet de bénéficier des mêmes possiblités techniques que les logiciels de traitement de texte pour produire des documents, qu'ils soient - écrits en arménien, en araméen, en japonais, en lituanien ou en + écrits en arménien, en araméen, en japonais, en lituanien ou en persan.
De la même manière qu'on utilise la commande latex
pour
- compiler les fichiers écrits pour LaTeX, on utilise la commande
- xelatex
pour compiler les fichiers LaTeX destinés Ã
- profiter des fonctionnalités de XeTeX.
De la même manière qu'on utilise la commande latex
pour
+ compiler les fichiers écrits pour LaTeX, on utilise la commande
+ xelatex
pour compiler les fichiers LaTeX destinés à
+ profiter des fonctionnalités de XeTeX.
La commande xelatex
s'utilise comme la commande
pdflatex
.
xelatex fichier.tex
L'option -no-pdf
permet de retrouver le comportement de la
commande latex
qui ne produit pas un fichier directement
- lisible mais un fichier intermédiaire de la forme
- fichier.xdv
. La commande xdvipdfmx
sert Ã
+ lisible mais un fichier intermédiaire de la forme
+ fichier.xdv
. La commande xdvipdfmx
sert à
convertir les fichiers XDV en fichers PDF.
XeTeX accepte les fichiers encodés en UTF-8. Pour cela, ajouter au - début du document la commande
+XeTeX accepte les fichiers encodés en UTF-8. Pour cela, ajouter au + début du document la commande
\XeTeXdefaultencoding utf-8
pour en tenir compte.
-XeLaTeX possède un certain nombre de paquets spécifiques, et au - contraire ne doit pas être utilisé avec certains paquets traditionnels +
XeLaTeX possède un certain nombre de paquets spécifiques, et au + contraire ne doit pas être utilisé avec certains paquets traditionnels de LaTeX.
inputenc
et fontenc
sont
inutilesfontspec
sert à sélectionner les polices
+ fontspec
sert à sélectionner les polices
facilementAvant de commencer, il y a un pré-requis qui n'est pas spécifique à - LaTeX : savoir taper un texte quelconque, dans la langue qui vous - intéresse, en Unicode. Heureusement, nous avons une documentation sur - les éditeurs en - Unicode, que nous vous invitons à lire avant d'aller plus loin si - ce n'est déjà fait.
+Avant de commencer, il y a un pré-requis qui n'est pas spécifique à + LaTeX : savoir taper un texte quelconque, dans la langue qui vous + intéresse, en Unicode. Heureusement, nous avons une documentation sur + les éditeurs en + Unicode, que nous vous invitons à lire avant d'aller plus loin si + ce n'est déjà fait.
-Tout ce que vous avez à faire maintenant, c'est de créer votre - fichier LaTeX avec votre éditeur en Unicode. Nous allons voir dans un - instant ce qu'il faut mettre dans le préambule.
+Tout ce que vous avez à faire maintenant, c'est de créer votre + fichier LaTeX avec votre éditeur en Unicode. Nous allons voir dans un + instant ce qu'il faut mettre dans le préambule.
-Les fichiers déjà écrits pour LaTeX peuvent nécessiter quelques - adaptations : grâce à votre éditeur de texte favori, enregistrez votre +
Les fichiers déjà écrits pour LaTeX peuvent nécessiter quelques + adaptations : grâce à votre éditeur de texte favori, enregistrez votre fichier au format UTF-8, et remplacez les lignes
\usepackage[T1]{fontenc} \usepackage[utf8]{inputenc}@@ -88,40 +88,40 @@
\XeTeXdefaultencoding utf-8 \usepackage{fontspec}-
Par défaut, XeTeX utilisera les polices Latin Modern qui ont un +
Par défaut, XeTeX utilisera les polices Latin Modern qui ont un aspect semblable aux polices standard de LaTeX. Mais si vous voulez en - changer, en particulier pour afficher du texte dans d'autres écritures, + changer, en particulier pour afficher du texte dans d'autres écritures, il faudra se procurer une police capable de les afficher. Prenons par exemple la police FreeSerif. La commande suivante permet de - sélectionner cette police par défaut pour l'ensemble du document.
+ sélectionner cette police par défaut pour l'ensemble du document.\setmainfont[Mapping=tex-text,Ligatures=Common]{FreeSerif}-
Les options indiquées permettent respectivement d'utiliser certaines - suites de caractères pour les caractères spéciaux (comme +
Les options indiquées permettent respectivement d'utiliser certaines
+ suites de caractères pour les caractères spéciaux (comme
---
pour —), et d'utiliser les ligatures standard
- de la police si celle-ci en possède (notamment fi et ffi).
Attention, certaines anciennes polices, datant d'avant - l'introduction du standard Unicode pour l'encodage des caractères, - permettent d'afficher des écritures non latines, en remplaçant les - dessins des caractères latins par ceux des caractères grecs : elles - permettent ainsi d'«écrire en grec» avec un clavier latin (comme la - police Symbol). L'usage de ces polices de caractères est à - proscrire : l'utilisation de systèmes Unicode permet aux fichiers de - reproduire fidèlement les caractères présents dans le texte.
+ l'introduction du standard Unicode pour l'encodage des caractères, + permettent d'afficher des écritures non latines, en remplaçant les + dessins des caractères latins par ceux des caractères grecs : elles + permettent ainsi d'«écrire en grec» avec un clavier latin (comme la + police Symbol). L'usage de ces polices de caractères est à + proscrire : l'utilisation de systèmes Unicode permet aux fichiers de + reproduire fidèlement les caractères présents dans le texte.Il est possible que la police choisie par défaut ne convienne pas à - tous les usages, par exemple pour écrire en chinois. Si cela s'avérait - nécessaire, rien de plus simple : il suffit de déclarer une nouvelle +
Il est possible que la police choisie par défaut ne convienne pas à + tous les usages, par exemple pour écrire en chinois. Si cela s'avérait + nécessaire, rien de plus simple : il suffit de déclarer une nouvelle police avec la commande suivante
\newfontfamily\cjkfont[Script=CJK]{AR PL ZenKai Uni}-
Cette commande déclare une nouvelle police utilisable avec la +
Cette commande déclare une nouvelle police utilisable avec la
commande \cjkfont
(il s'agit de la police AR PL ZenKai
Uni). On pourra alors l'utiliser sous la forme suivante :
En chinois, «Chine» s'écrit {\cjkfont ä¸å½}.+
En chinois, «Chine» s'écrit {\cjkfont 中国}.