Question

J'ai trouvé SVN extrêmement utile pour la documentation, les fichiers personnels, entre autres utilisations non liées au code source.Quelles autres utilisations pratiques avez-vous trouvées aux systèmes de contrôle de version en général ?

Était-ce utile?

La solution

J'ai vu le contrôle de version être utilisé à d'autres fins non liées au code source, comme :

  1. Fichiers de schéma : un ensemble de fichiers de schéma XML qui représentent un schéma du monde réel
  2. Fichiers de contenu - contenu représenté dans un format spécifique, ceci est lié à un concepteur dans VStudio, utilisant le contrôle de source, autorise l'historique, annule tout, sans interaction avec la base de données

Dans les deux cas, nous remarquons qu'il s'agit essentiellement de fichiers verbeux. La principale raison d'avoir ces fichiers dans le contrôle de code source par opposition aux "enregistrements texte dans la base de données", est que

  1. fichiers qui pourraient nécessiter la possibilité de comparer les versions
  2. historique (car plusieurs utilisateurs travaillent dessus)
  3. possibilité de revenir à une version antérieure
  4. étiquetage et sorties en obtenant un label spécifique
  5. si vous utilisez Team Foundation (TFS), l'ensemble des modèles Scrum avec les éléments de travail, etc.
  6. aucune base de données impliquée, aucun développement supplémentaire pour tout ce qui précède

Autres conseils

Lors de l'un de mes premiers travaux, nous avons utilisé CVS pour le contrôle des révisions DNS.C'était principalement un moyen peu coûteux et sale de sauvegarder les fichiers de zone.

J'ai également entendu parler de personnes utilisant un système de contrôle de version pour leurs répertoires personnels.

Au cours de mon dernier semestre à l'école, j'ai suivi deux cours qui avaient chacun un projet important et chronophage à rendre à la fin du semestre.Ils ont également tous deux eu besoin de plusieurs devoirs assez longs tout au long du semestre.J'ai largement utilisé SVN pour les deux cours afin de suivre chaque modification apportée à chaque article et projet.

Je suis plutôt du genre à "écrire tout d'un coup" lorsqu'il s'agit d'écrire, et j'ai tendance à perdre le fil de mes pensées si j'essaie de répartir le processus sur plusieurs sessions.Pouvoir comparer les dernières révisions de mes articles m'a permis de me remettre beaucoup plus facilement sur la bonne voie.

J'édite beaucoup de documents dans LaTeX, j'utilise donc SVN pour stocker les fichiers tex et les images, etc.Pratique pour faire des Diffs, et j'espère qu'il me sauvera en cas de catastrophe.

Généralement, tout ce dont le processus de construction a besoin, je le mets dans le contrôle de source.Le seul problème qui se pose est si vous disposez de ressources préparées par d'autres départements, par ex.Le marketing, cela va dans votre installation par exemple.

J'ai un dossier dans le chemin appelé bin avec des utilitaires utiles comme ceux de sysinternals et autres.J'utilise svn pour les maintenir à jour sur différentes machines.En outre, des éléments tels que les scripts PowerShell, les fichiers vimrc, etc.sont parfaits pour rester centralisés.

Je n'ai même jamais pensé à l'utiliser à des fins personnelles, mais sur les projets logiciels, j'enregistre à peu près tout ce qui ne peut pas être régénéré ultérieurement (des exemples incluent les exécutables et les documents générés par le code).La documentation est toujours enregistrée.Les présentations aux clients sont enregistrées et étiquetées avec la base de code utilisée pour la démonstration, s'il y a eu une démo.

Je pense que SVN et CVS ne sont pas assez "conviviaux" pour les utilisateurs non techniques, mais je suis maintenant curieux de connaître les utilisations possibles du contrôle de version pour des projets non techniques...

La plupart des documents seront visualisés par plus d’une paire d’yeux humains.C'est extrêmement utile, par exemple, pendant les phases de planification de projet lorsque l'analyste met à jour le document d'exigences et que vous souhaitez voir ce qui a changé depuis la dernière fois que vous l'avez vu.Les wikis ont aussi cette fonctionnalité, bien sûr.Nous utilisons SharePoint à ces fins, mais choisissez votre fournisseur.

J'utilise beaucoup le contrôle de version pour les fichiers courants, car j'ai un ordinateur portable, un ordinateur de bureau au travail et un ordinateur de bureau à domicile sur lequel je travaille également beaucoup (je travaille à domicile deux jours par semaine).

Une nouvelle session dans l'un d'entre eux commence par un script appelé « start » qui met à jour un certain nombre de vérifications et se termine par un script appelé « stop » qui valide certaines choses dans VCS, ou me montre au moins les modifications.

Je l'utilise pour :

  • ma liste de tâches Getting Things Done dans un seul fichier (voir yagtd, l'outil que j'utilise)
  • ma base de données de mots de passe (j'aurais dû envoyer cette suggestion au podcast StackOverflow en réponse à la question de Joel)
  • toutes mes notes aléatoires et fichiers sur des projets
  • un tas de feuilles de calcul (dont une qui suit certaines choses personnelles au jour le jour)
  • quelques images (comme les avatars web que j'utilise)

De plus, j'ai écrit quelque chose sur Subversion pour gérer les fichiers de configuration des systèmes et de mes comptes utilisateur.J'ai tellement de comptes sur tellement de machines, et j'en avais marre de toujours réapprendre à configurer mon shell/vim/...donc je stocke maintenant également la plupart de ces éléments dans le contrôle de version.Cela inclut les fichiers de signatures de courrier électronique, un tas de scripts shell dans $HOME/bin, ...

J'utilise le contrôle des révisions pour presque tous mes documents, quel que soit le but.

J'utilise Mercurial, donc la configuration d'un nouveau référentiel dans un répertoire donné est une simple question de "hg init", que j'ai trouvé beaucoup moins compliqué que la configuration d'un nouveau référentiel Subversion.

J'ai également trouvé que RCS est idéal dans toutes les situations où vous devez synchroniser des fichiers - je l'utilise maintenant au lieu de rsync pour tous mes besoins de synchronisation.Il est également plus facile de faire des sauvegardes - cloner un référentiel vers un autre emplacement/machine/disque signifie que je peux simplement transférer les modifications vers cet emplacement, ce qui est encore plus facile avec un référentiel push par défaut.Si vous ne modifiez pas le dépôt distant, vous n'avez même pas besoin de trop vous soucier de sa configuration autre que celle par défaut.

L'une des choses les plus agréables pour moi est que je peux avoir une synchronisation, des sauvegardes ou autre sur n'importe quel système auquel j'ai accès SSH.(Eh bien, s'ils installaient Mercurial pour moi à l'université, je pourrais le faire !)

Dans mon entreprise, le groupe de développement vise à utiliser Subversion pour presque tous les documents électroniques.Cela dépend de la capacité à « verrouiller » les fichiers qui ne peuvent pas être fusionnés, tels que les documents Excel.SVN fournit la fonctionnalité « requires-lock » et le flux de travail d'obtention de verrouillage, de modification et de validation est raisonnablement simple.

Les ingénieurs logiciels sont présents, mais les ingénieurs mécaniciens rencontrent une certaine résistance.Ils souhaitent utiliser les fonctionnalités d’édition collaborative simultanée d’Excel par exemple.Ils ne se sont pas adaptés au workflow d'obtention, de modification et de validation.

TortoiseSVN vous permet de comparer des documents Word, ce que je trouve extrêmement utile.Apparemment, il prend également en charge la fusion, même si j'ai été trop poulet pour essayer cette fonctionnalité...

J'aimerais sérieusement envisager un DVCS tel que git ou Mercurial.Mais à moins qu'il puisse verrouiller le format de fichier binaire (c'est-à-direnon fusionnables) (devenant ainsi davantage un modèle centralisé pour de tels fichiers), et/ou fusionnant les formats de fichiers binaires que nous utilisons, cela ne conviendra pas à l'utilisation de mon entreprise.

Je souhaite simplement que tous les éditeurs de logiciels fournissent de bons outils de comparaison et de fusion pour leurs formats de documents propriétaires.Cela augmenterait la valeur des systèmes de contrôle de version pour les formats de documents propriétaires.

J'utilise SVN pour enregistrer les modifications apportées aux fichiers de configuration du serveur Asterisk VOIP.J'ai un référentiel avec un dossier correspondant à chacun de plusieurs serveurs.Ce dossier contient tout le contenu de /etc/asterisk.

J'ai utilisé Subversion pour tout, depuis le contrôle des sources, les environnements de construction, les scripts d'installation et toute cette qualité de développement.J'ai également mis en place un référentiel pour les utilisateurs non techniques pour les fichiers binaires, en l'occurrence d'anciens documents Excel et Word.Cela a bien fonctionné étant donné que nous avons perdu toute fonctionnalité de fusion.Mais cela a permis à tous nos utilisateurs d’obtenir assez facilement une tonne d’informations qui ont été pour la plupart éditées par deux ou trois personnes.Et avec des instructions simples sur la façon de mettre à jour avant d'effectuer toute modification (verrouillage si nécessaire), puis de gérer les conflits (vérifiez ce que vous avez mis à jour, puis supprimez votre copie et effectuez une mise à jour), ils ont été capables de gérer assez bien le problème du référentiel, même si je ne suis pas sûr qu'ils aient jamais vraiment apprécié ça.:)

Oui, j'ai un répertoire doc dans git.Je contient une liste de tâches, un calendrier et quelques autres documents.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top