03-03-2015 06:27 AM - modifié 03-03-2015 06:28 AM
Quand on modifie une "définition de type", on a a les 3 possibilités suivantes :
Save
Defer decision
Cancel (Cancel the close operation)
et si on a fait une erreur et que l'on désire "annuler" la modification ..... on fait quoi ?
si on a modifié une définition de type un rien complexe, avec plusieurs modifications,
on peut très vite se retrouver dans le cas ou on ne sait plus qu'elle était exactement la définition de départ.
Dans ce cas, il n'est plus possible de faire la "modification inverse" .... et c'est le cul de sac !
Peut-être alors choisir "Defer decision" ??? et fermer le projet en choisissant un "save" sélectif ?
Mais si on a fait d'autres mofifs (des mofifs de code) ... alors on ne sait pas (difficilement) savoir quels sont les VIs à sauver et ceux qui ne le doivent pas.
Et si certains VIs contiennent des modifs de code ET aussi cette fameuse définition de type (!!!!)
Ce serait très pratique d'avoir en plus la possibilité de : Cancel Changes
Qu'en pensez-vous ? Avez vous déjà rencontré ce problème
le 03-03-2015 08:22 AM
salut je fais un revert (via LabVIEW), sinon j'ai un SVN et je fais aussi un
revert | Revient à une version donnée d'une ressource. Les modifications locales sont écrasées. |
Logiciel de gestion de code source :
https://decibel.ni.com/content/docs/DOC-30198
Utilisation du contrôle de source (pour LabVIEW et autres...)
Le contrôle du code source est l'un des aspects les plus élémentaires (mais aussi les plus négligés) du développement logiciel professionnel. Un système de contrôle du code source fournit les versions des fichiers pour l'ensemble de votre projet. Le contrôle du code source permet à plusieurs développeurs de vérifier l'arborescence source d'un projet et d'éviter aux ingénieurs d'écraser le travail des autres.
chez MESULOG : SVN et TortoiseSVN
A+
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 03-03-2015 08:50 AM
Bonjour Luc,
Le contrôle et la gestion des codes ...
négligé ? pas de mon côté ... j'archive soigneusement mes versions avec un numéro, une date et éventuellement un commentaire.
simplement parcequ'on est jamais à l'abris d'un gros soucis .... et qu'à ce moment on est bien content de retrouver la version " t-1 ".
Je n'utilise pas de soft dédié pour cela, je le fais "en manuel" (ceci dit, je développe seul)
On fait une "modif" ... et d'un seul coup, plus rien ne fonctionne ... cela m'a déjà sauvé la vie plus d'une fois.
Pour les modifs dans une définition de type ....
je viens d'y penser .... CTRL-Z ... tout simplement ... !
Cela en cours de modifs du type def ... sinon, "après", si on a fait trop de dégâts .... retrour à une version antérieure.
Perso, je fais un archivage dès qu'il y a une modifs "substentielle" ... et toujours en fin de session de travail, soit au minimum une fois par jour.
le 03-03-2015 10:36 AM
Han... Archivage manuel...
Au-delà de toutes les fonctionnalités précieuses du control de code source, la taille devient vite un problème. Et faire un zip tous les jours pour différencier les versions jour après jour n'est pas maintenable et prend du temps.
Si la taille d'un projet est S :
N versions archivées manuellement => Taille totale sur le disque en O(S*N)
N versions sous SCC (Source Code Control) => Taille totale sur le disque (du serveur SCC) en O(α*N) où α est un facteur de poids relatif au nombre de modifications binaires entre 2 versions successives. α est donc très inférieur à S.
Et pour la simplicité, faire un clic droit -> Commit sur un dossier ou sur un projet LabVIEW et c'est fini... 🙂
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
03-03-2015 01:03 PM - modifié 03-03-2015 01:04 PM
ok ...
oui, suis d'accord, c'est préhistorique.
bon ... je vais me faire un "quick drop" qui me fera tout ça avec un "CTRL-key"
la perte de temps : Je programme pour occuper mes soirées. (et surtout par passion)
J'ai quitté le monde du "toujours plus vite" par choix philo-existentiel.
la mémoire : mon projet zippé fait 3,5 Mo
une centaine de versions précédentes me prend un maximum de 350Mo ... et j'ai 2To sur le dur principal.
des précieuses fonctionnalités : du moment que j'ai mes versions précédentes sauvegardées ...je n'ai, jusqu'à présent, rencontré aucun "besoins" au delà de ça.
Je n'ai pas encore eu besoin de fonctionnalités bien "spéciales" (le jour où ce sera le cas, alors ok)
Bon ....
ceci dit, je comprends parfaitement ton point de vue. (à 200%)
Tu développes dans un environnement astreint à des contraintes précises, moi pas.
Tu développes en professionnel, pour le monde scientifique, industriel, etc ...
moi, je bidouille sur mon foutu jeu d'échecs (qui à fait la "une" tout de même )
Nos univers sont totalement différents (et nos besoins aussi)
Moi, je bricole des prototypes dans le fond de mon garage,
toi, tu bosses dans le Team McLaren.
le 03-05-2015 09:18 AM
Salut,
L'archivage ce n'est pas de la gestion de code source.
C'est de l'archivage (sauvegarde)
Ouadji, je te promets que si jamais tu mets le nez dans un outil de SCC (type SVN), plus jamais tu ne feras machine arrière pour revenir à une solution manuelle.
C'est indispensable, quelle que soit la taille du code.
Mathieu
le 03-05-2015 10:21 AM
ok Mathieu ...
en fait, je ne connais pas ce type de soft.
pourrais-tu me donner 2 ou 3 exemples de fonctionnalités dont je ne pourrais plus me passer ?
(ma question est bien réelle, et sans la moindre ironie, réellement, zéro)
Cela émousse ma curiosité ... parceque ... je n'ai jamais réellement eu besoin de plus ... "que d'archiver".
Alors ? ... quelles pourraient bien être ces fonctionnalités magiques ?
et que veut alors réellement dire "gestion du code" (autre que de l'archivage)
Merci Mathieu de me faire découvrir par 2 ou 3 exemples les "plus" de ce type de soft.
le 03-05-2015 10:42 AM
Hum
Par où commencer. Tout d'abord, je ne suis pas un expert de ce genre de chose.
Un outil de gestion de code source permet de:
SVN est intégré dans l'explorateur windows.
En gros:
1 - tu as un code dans une version donnée (appelons ça une révision pour le moment), présent dans ce qu'on appelle un dépôt de code (local ou sur un serveur)
2 - tu obtiens le code dans la révision la plus récente depuis le dépôt (opération dite de checkout ou d'update - c'est trivial à faire)
2 - tu fais des modifs, en local sur ta machine, tu testes, ça te plait
3 - tu fais un "commit" (tu mets à jour le dépôt avec les modifications).
Résultat:
La révision du code est incrémentée sur le dépôt.
En prime, tu sais peux svoir quels sont les fichiers modifiés par la dernière révision
Du coup, tu peux faire un diff pour savoir ce que tu as réellement touché entre deux révisions, ou entre ta version locale et une révision du dépôt (utile quand tu veux comparer deux révisions un peu anciennes)
Tu peux demander à récupérer le code dans une ancienne révision, pour recompiler une ancienne version
Ensuite, il y a des histoires de branches (sorte de versions que tu crées à partir d'une révision, qui vivent leur vie séparément, et dont tu peux ensuite réintégrer les modifications vers la révision initiale - opération dite de patch si je ne me trompe pas). Il y a aussi des histoires de tag etc...
Un peu de doc NI sur le sujet, il y en a d'autres certainement
L'essayer, c'est l'adopter, ça va te simplifier la vie le développement
Je maîtrise pas toujours les termes, alors que personne n'hésite à me corriger...
Mathieu
le 03-05-2015 12:51 PM
Un grand merci Mathieu.
merci pour la qualité de ta réponse et le temps que tu y as consacré.
ok ... promis, je testerai l'idée ... je testerai TortoiseSVN
le 03-06-2015 02:31 AM
<ironie>
Sinon moi je vais au boulot en charrette 😉
</ironie>
Peut-être une discussion dans laquelle tu t'identifieras...
http://stackoverflow.com/questions/360887/using-version-control-for-home-development
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.