Question

Je souhaite contrôler les versions d'un répertoire, appelons-le "Project" et gardez les fichiers fossiles dans un autre répertoire nommé "Fossiles". J'ai réussi à créer le référentiel "project.fsl", à ajouter mes fichiers de projet, à engager et à fermer.Mon problème est de comprendre comment passer à l'étape suivante.

Voici ce que je fais, en suivant le fossilbook suggestions.

$ cd project
$ fossil new ../fossils/project.fsl
$ fossil open ../fossils/project.fsl
$ fossil add .
$ fossil ci -m "first commit"
$ fossil close project.fsl

Maintenant, j'ai travaillé sur mon projet, édité certains fichiers, supprimé certains fichiers, créé certains fichiers, renommé certains fichiers.J'aimerais ajouter l'état actuel du projet au référentiel.Comment je fais ça?

D'après ce que j'ai lu dans la documentation, j'avais l'impression que je devais d'abord ouvrir le référentiel, puis ajouter des fichiers, puis valider.Si je n'ouvre pas le référentiel, j'obtiens le Not within an open checkout. message.Mais si je open fossil veut écraser mon répertoire avec les fichiers les plus anciens.(Et si j'ouvre depuis l'intérieur du fossils répertoire, j'obtiens une version "décompressée" de mon projet copiée dans le répertoire fossils, pas ce que je veux non plus)

$ cd project
$ fossil open ../fossils/project.fsl

Ici, fossile veut écraser mon projet avec l'ancienne version.Je dis non à chaque suggestion.Je soupçonne openn'était pas la bonne approche, mais sinon, quelle est-elle ?

Je souhaite ajouter mes modifications au référentiel, alors maintenant ce project.fsl est open, j'essaye ceci :

$ fossil add .
 ADDED  Slides/tmp.tex

$ fossil commit -m "no idea what I'm doing, this will not end well"
 would fork.  "update" first or use --allow-fork.

$ fossil close
 there are unsaved changes in the current checkout

À ce stade, je supprime tous les fichiers cachés nommés .fslckout .fossil et réessayez, avec des résultats tout aussi décevants.

Pour être tout à fait franc, mon seul intérêt fossil garde un historique de mon projet.Je n'ai pas de co-auteurs et je n'ai pas l'intention de le faire fossil diff ou fossil ui ou quelque chose comme ça jusqu'à un moment, qui j'espère n'arrivera jamais, où j'aurai besoin de fouiller dans l'histoire de mon projet.

Modifier. Je suis un total débutant.Je ne suis pas sûr de comprendre le sens de checkout, manifest, leaf, etc.il m'est donc très difficile d'extraire quoi que ce soit du manuel, malgré les innombrables heures passées à essayer.Je ne comprends pas grand chose à cette page fossil open: http://fossil-scm.org/fossil/help/open

Était-ce utile?

La solution

fossil open est la bonne chose à faire.Dans votre cas, c'est le fossil close ce n'était pas nécessaire.

À ce stade, vous devriez faire fossil open ../fossils/project.fsl --keep pour ouvrir votre dépôt en conservant toutes les modifications.

Le ouvrir La commande marque le répertoire actuel comme un répertoire de travail (en termes fossiles, un vérifier).Je vous recommande de ne pas le fermer tant que vous n'avez pas besoin de déplacer votre dépôt ou le répertoire de travail lui-même.Personnellement, cela ne se produit que lorsque je passe à un autre ordinateur.

Pour que Fossil identifie tous les changements, il suffit de faire fossil addremove;fossil ajoutera ensuite tous les nouveaux fichiers et supprimera tous les fichiers supprimés, afin que le référentiel corresponde à nouveau au répertoire de travail.Bien entendu, vous devrez toujours valider les modifications par la suite.

Note que addremove fait pas reconnaître automatiquement les noms de fichiers !Si vous avez renommé des fichiers, vous devez en informer Fossil pour chaque fichier en utilisant le fossil rename commande, avant vous effectuez le addremove commande.Bien sûr, si cela ne vous dérange pas de briser l'historique des modifications de fichiers spécifiques, vous êtes libre de l'ignorer et de laisser Fossil penser qu'un fichier a été supprimé et qu'un autre a été ajouté à la place.

Autres conseils

Cérémonie basse et débuts faciles

Pour un seul développeur, le cycle de vie d’un stockage fossile peut être très simple :

  1. fossil new pour créer le fichier de référentiel lui-même.
  2. fossil open pour créer le premier (ou éventuellement le seul) espace de travail actif
  3. fossil add, fossil remove, fossil rename et fossil addremove pour tenir Fossil informé des fichiers à suivre.
  4. fossil commit pour valider les modifications dans le référentiel

où les étapes 3 et 4 sont répétées selon les besoins tout au long de la durée de vie du projet.

C’est l’un des principaux avantages du fossile :c'est une cérémonie très basse par conception.Vous pouvez gérer seul un projet très élaboré et n'utiliser réellement que fossil commit régulièrement.

Prochaines étapes

La prochaine étape de sophistication peut évoluer dans plusieurs directions.Si vous souhaitez partager le travail sur un projet avec un deuxième développeur, vous souhaiterez en savoir plus sur le clonage d'un référentiel et la synchronisation des mises à jour.Si vous souhaitez permettre un travail indépendant sur une fonctionnalité sans interrompre vos builds de tronc, vous pouvez en savoir plus sur la création de branches et la fusion.Si vous souhaitez profiter des fonctionnalités du wiki et du suivi des tickets, vous voudrez en savoir plus sur fossil ui, fossil server ou configurez votre serveur Web pour lancer fossil.

Mais aucun de ces cas d'utilisation ne le fera exiger l'utilisation du fossil close commande.En fait, la sortie de fossil help a récemment été divisé en une liste plus courte de commandes nécessaires à la plupart des utilisateurs et une liste plus longue de toutes les commandes.Dans cette division fossil close n'a pas fait partie de la liste restreinte.Les seules fonctions qu'il exécute et qui ne peuvent pas être facilement exécutées par simple suppression de fichiers sont de vérifier qu'il ne s'agit pas de modifications non enregistrées et de supprimer la caisse ouverte de votre liste personnelle de caisses disponibles pour le fossil all commande.

Vocabulaire spécifique aux fossiles

Même un seul développeur voudra apprendre une partie du vocabulaire utilisé dans la documentation de Fossil.

  • "enregistrement":Un ensemble spécifique de révisions de fichiers, identifié par un UUID et éventuellement par une ou plusieurs balises.
  • "vérifier":Une arborescence de dossiers associée (par fossil open) avec un référentiel spécifique.La plupart des commandes fossil nécessitent que le répertoire actuel soit dans une extraction ouverte.
  • "UUID" :Un identifiant unique pour tout objet spécifique stocké dans le dépôt de fossiles.En pratique, l'UUID est le SHA-1 de la chose exprimé en hexadécimal.Dans la plupart des cas, l'UUID peut être raccourci à juste assez de chiffres principaux du hachage complet pour l'identifier de manière unique.Il sera généralement écrit sous la forme de 8 ou 10 chiffres entre crochets.
  • "artefact":Un fichier ou/ou autre contenu (une page wiki, un ticket, un manifeste, etc.) stocké dans le référentiel.Chaque fichier que vous archivez devient un artefact.Il en va de même pour toutes les métadonnées (commentaires, horodatages, etc.) concernant chaque enregistrement.
  • "bifurquer":Une ligne d'enregistrements successifs qui dérive d'un enregistrement racine.Les branches sont utilisées pour mettre les modifications de côté jusqu'à ce qu'elles soient prêtes à être fusionnées, ou simplement pour contenir les modifications qui sont des erreurs.
  • "feuille":L'enregistrement au bout d'une succursale.
  • "tronc":La première branche de n'importe quel référentiel est nommée « tronc ».La plupart des autres branches seront des branches provenant de certains enregistrements le long du tronc.
  • "manifeste":La liste des fichiers modifiés dans un enregistrement particulier ainsi que les métadonnées décrivant cet enregistrement (l'utilisateur, l'heure, la description, l'UUID de son enregistrement parent et toutes les balises qu'il pourrait porter) constituent le manifeste.La plupart des utilisateurs n'ont pas vraiment à se soucier des manifestes, ils sont créés par fossil commit et peut être consulté depuis l’interface Web.

Interface Web

Tout utilisateur voudra en savoir plus sur l’interface Web de Fossil.Une première étape facile consiste à dire fossil ui dans une caisse ouverte.La chronologie affiche l'historique de développement avec un nœud pour chaque enregistrement et des lignes tracées pour montrer les branchements et les fusions.L'interface Web est hautement configurable, fournit un wiki et un suivi des tickets, ainsi qu'une interface graphique à partir de laquelle la plupart des paramètres liés au projet et au référentiel peuvent être ajustés.

Fossil lui-même est un serveur Web efficace pour le contenu du référentiel.En fait, la plupart des pages de site officiel de fossile sont servis par fossil lui-même depuis le référentiel du code source vers fossil.

Sources d'aide supplémentaire

Mis à part le site web et l'aide aux commandes individuelles disponible à partir de fossil help, il existe plusieurs autres ressources que de nombreux utilisateurs devraient connaître.

Il y a le liste des utilisateurs de fossiles avec un rapport signal/bruit constamment élevé.Les principaux développeurs y prêtent attention, tout comme de nombreux utilisateurs utiles et compétents.La liste contient au moins un archive, ainsi qu'une liste séparée permettant aux développeurs de discuter des nouvelles fonctionnalités et des nouveaux plans, mais fossil-dev ne sera intéressant que si vous souhaitez travailler sur les composants internes de fossil lui-même.

Jim Schimpf a un livre qui tente d'être à la fois un didacticiel et une référence complète, et comprend quelques conseils sur les meilleures pratiques.Cela vaut bien une lecture.

L'aide en ligne de commande intégrée ainsi que la documentation pour toutes les URL de page comprises par l'interface Web sont également disponibles à partir de l'interface Web de Fossil à l'adresse /help URL dans le site de n’importe quel référentiel.Ce texte d'aide comprend la documentation de chaque commande, y compris les commandes de test internes non prises en charge.

Et enfin, le [fossil tag][tag] ici chez StackOverflow ne peut pas être ignoré en tant que ressource.

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