Site icon Blog Zenika

Eclipse Indigo et EGit 1.0.0

Personne n’a pu passer au travers : le 22 juin dernier la fondation Eclipse a sorti Eclipse Indigo, sa release simultanée d’Eclipse et de plus de 60 projets.
Mais cette année, un projet intéressant est sorti en version 1.0.0 avec Indigo : EGit, le plugin d’intégration de Git dans Eclipse. Avec la migration de ses projets sous Git, la fondation Eclipse se devait d’avoir un plugin à la hauteur. C’est maintenant chose faite !
Un petit tour des fonctionnalités d’EGit.

Installation

Avec l’Eclipse Marketplace qui existe depuis Helios, rien de plus simple : chercher EGit et cliquer sur « Install ».

Configuration

Dans les préférences d’Eclipse, il est possible de configurer les options d’EGit dans « Team > Git », rien de bien compliqué, des options classiques de plugin VCS.
Mais encore mieux : dans « Team > Git > Configuration » vous pouvez configurer Git lui-même avec un onglet pour chaque niveau : ‘User’ (=’global’), ‘System’ ou ‘Repository’.

Repositories

Egit ajoute une nouvelle perspective « Git Repository Exploring » qui permet de gérer les repositories Git :


Dans la vue « Git Repositories » vous pouvez alors parcourir, sur chaque repository :

Utilisation quotidienne

Branching

Il suffit simplement de faire un clique droit sur une référence de la vue « Git Repositories » et de choisir « Create Branche ».

Selon votre configuration de « Label Decoration » le nom du repository et de la branche courante devraient apparaître dans les vues d’exploration du code.

Status

Pour voir l’état des modification locales, plusieurs moyen :

Diff

Là rien de plus classique : en cliquant sur un fichier depuis les vues de synchronisation, cela ouvre le diff.

Commit

Le commit peut être fait directement depuis la vue « Git Staging » ou bien en lançant la fenêtre de commit depuis le menu contextuel.

Historique

History

La classique vue « History » a été adapté pour intégrer l’historique Git avec le graphique des branches comme dans gitk.

Comme d’habitude la vue peut être synchronisée avec l’élément sélectionné, mais chose nouvelle : on peut modifier la portée de l’historique :

Recherche

Il est aussi possible de rechercher dans l’historique via la recherche « Git Search ».

Il est alors possible d’ouvrir les commits pour avoir les information sur un commit. Cette vue est très sympathique.

Annotation

J’ai l’impression de faire découvrir cette fonctionnalité des (D)VCS à chaque fois que j’en parle à quelqu’un mais pour moi, c’est une fonctionnalité vraiment utile et elle ici parfaitement intégré dans Eclipse.

Utilisation ‘Avancé’

Fetch/Push

Le menu contextuel des remotes de la vue « Git Repositories » permet de lancer un fetch ou un pull selon l’élément.

S’ouvre alors une fenêtre indiquant les références à fetcher/puller (configurable de manière assez pointue mais complexe) et le fetch/pull et ensuite lancé à la validation.

Merge

Cette fois, c’est le menu contextuel des branches de la vue « Git Repositories » qui permet de lancer un merge.

Ensuite, si tout se passe bien, tant mieux. Sinon EGit se met en état de conflit et tous les fichiers en conflits seront indiqués avec une double-flèche rouge.

Une résolution des conflits, des ‘add’ et enfin un commit (avec le message de conflit classique Git proposé par défaut) et le tour est joué.

Rebase

Le rebase se lance comme pour le merge (juste en dessous dans le menu contextuel).
Pas de conflit, pas de problème. Dans le cas contraire, une fenêtre de gestion du rebase apparait proposant les étapes classiques de rebase :


Si on demande la résolution, EGit ouvre alors la vue Eclipse de résolution de merge. Il faut ensuite résoudre les conflits, faire les ‘add’ et lancer ‘Rebase > Continue’ depuis le menu contextuel du repository pour passer à l’étape suivante, mais cela ne semble pas fonctionner dans le cadre de mon test…

Les défauts

Problèmes

Voici les problèmes que j’ai rencontré en utilisant un peu EGit :

Lacunes

Rapidement, les choses que je trouve qu’il manque encore dans EGit :

Bilan

En conclusion, un plugin qui est assez mature pour une utilisation simple au quotidien malgré quelques lacunes et la ligne de commande est encore parfois nécessaire. Mais comparé à la version 0.8 d’il y a un an les évolutions sont énormes et cela ne laisse présager que du bon pour le futur de ce plugin.
Et vous ? Que pensez-vous de EGit ? Quelle fonctionnalité vous plaît ? Laquelle vous manque ?

Auteur/Autrice

Quitter la version mobile