Pallier facilement à l’absence de MyWork et du Shelve de TFVC dans Git

Avec Git, il y a un concept de TFS disponible avec TFVC qui me manque beaucoup : MyWork (plus particulièrement le Shelve).

Le Shelve utilisable avec TFVC n’a rien à voir avec le concept commit partiel de code qui peut se faire avec Git. Avec TFVC, on a le concept de « Mise de côté » d’un code en cours de modification, ou de « Mise en pause » d’un travail en cours. Dans la version française de Visual Studio, on parle de « Mise sur étagère ». Le code est mis de côté et on peut le reprendre quand on veut, sur tout PC, sans pour autant avoir besoin de faire un check-in sur la branche en cours. Cette fonctionnalité montre très vite son intérêt quand on doit très vite changer de tâche en cours.

Exemple : pour résoudre le bug critique découvert en production, il y a 5 minutes

Avec Git, il n’y a pas cette facilité. Un code modifié doit être suivi d’un commit sur sa branche locale, si l'on veut changer de branche en cours. Il existe bien quelques astuces de contournements, parfois hasardeuses du fait presque systématique de faire un merge sur une branche qui n’existait pas avant. Mais aucune ne permet de passer simplement d’un contexte à un autre comme le Shelve de TFVS.

Comment s’en sortir simplement ?

Il y a pourtant une solution simple au possible. Faire un nouveau clone local de la branche à modifier.

Comme cela, la branche est conservée localement dans deux états qui n’ont pas d’incidence l’un sur l’autre.

Bien évidemment. Ici on ne dispose pas d’une sauvegarde centralisée comme avec le Shelve de TFVC.

Preuve ici faite qu’il n’y a pas que des avantages avec Git.

Moralité

Avant de passer à Git, à TFVC ou autres, il faut bien faire le tour des avantages et inconvénients de la solution. Ceci n’est possible qu’en faisant le tour de ses équipes pour connaitre leurs besoins et usages.

Jérémy Jeanson

Comments

You have to be logged in to comment this post.