GIT : versionning par fonction

5 réponses
AuteurMessage

Geo 113 |
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 30/10/2014 à 11:46

Bonjour,

j'utilise GIT depuis quelques années mais là je me retrouve face à un besoin auquel je ne trouve pas de réponse.

GIT permet de versionner du code par fichier, on peut remonter dans l'historique de celui ci etc.

Mais là j'aurai précisément besoin de surveiller les changements sur un bout de code, ou plus largement une fonction, et je me demandais donc si il existait un moyen de le faire (hors une fonction => un fichier), avec vous déjà entendu parler de cela ? Car ca me semblait un besoin assez classique dans certains métiers, et je suis surpris de ne rien trouver à ce sujet, mais je cherche peut être du mauvais côté.

merci !

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 30/10/2014 à 12:16

Hello,

sur le principe GIT n'est qu'un énorme repository de patchs, donc il travaille nécessairement par fichier. Du moins, je ne vois pas comment il pourrait en être autrement.

Est-ce qu'un "git blame" en indiquant les lignes concernées (-L start,end) ne pourrait pas répondre à ton besoin ?
Reste à chopper les bons numéros de ligne, mais ça tu peux les obtenir avec un outil secondaire je pense.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Scull | Thomas
Membre

Photo de Scull

Inscrit le : 06/08/2006

# Le 30/10/2014 à 14:02

+1 pour le git blame (tu as aussi le git log du fichier pour lister les commits le concernant)

Mon GitHubOuvrir dans une nouvelle fenetre | Founder & CEO of [website I made over the weekend]

Geo 113 | Geoffrey
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 30/10/2014 à 14:12

Salut Bool, merci pour ta réponse.

je vais approfondir sur le git blame, mais ce n'est pas très souple, la position pouvant beaucoup varier au fil du temps.

Pour répondre à ta remarque, j'imaginais une possibilité de flager du code
/* Début */
function()
/* Fin */
pour faire un genre de fichier virtuel.

Néanmoins je ne suis pas fermé à la technologie,si il existe quelque chose hors de git, cela m'intéresse aussi.

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 30/10/2014 à 15:30

Justement, tu n'as pas besoin de connaître la position de toutes les versions. Seule la position actuelle suffit.

Donc :
1) tu choppes les lignes de début et fin via tes marqueurs
2) tu les refiles à git-blame, et il fait le reste

Ou au pire : git-blame tonscript.truc | grep -A50 'function tartampion'

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Geo 113 | Geoffrey
Modérateur

Photo de Geo 113

Inscrit le : 04/05/2005

# Le 30/10/2014 à 15:53

Merci, très intéressant,
donc il faudrait faire un script pour faire une boucle de git blame (car la problématique se posait sur quelques dizaines de fonctions)
mais en tout cas c'est ce qui s'approche le plus de ce que je cherche, donc encore merci

CosmixOuvrir dans une nouvelle fenetre
Rendez imprévisible l'Economie; Mentez aux sondages

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 18/04/2024 6:19:23 | Généré en 24.42ms | Contacts | Mentions légales |