2012-06-28 2 views
0

Je sais que je ne devrais changer de fichiers que dans un projet, lorsque le référentiel est ouvert. Mais j'ai maintenant essayé de voir ce qui se passe quand je change un fichier quand le repo est fermé, parce que je le ferai souvent, parce que je vais oublier d'ouvrir des repos. C'est incommode ...Fossil: reconnaître les changements lorsque le repo est fermé

Maintenant, je vois ce qui se passe: les changements ne sont pas reconnus. En faisant un commit, j'obtiens le message "rien n'a changé" ... ce qui n'est pas vrai.

Que puis-je faire pour que les fossiles reconnaissent les changements manqués?

+0

Maintenant, j'ai encore essayé la même chose. Cette fois-ci, lors de la réouverture du repo, on me demande si je souhaite "écraser" le fichier modifié ... L'écrasement signifie l'écrasement du nouveau fichier avec l'ancien! (Juste au cas où d'autres se demandent ...) --- choisir Non, les changements restent intacts, et un commit reconnaît les changements. Donc je me demande pourquoi cela n'a pas fonctionné la première fois que j'ai essayé. – Ralf

Répondre

1

Pourquoi avez-vous fermé le référentiel? Quand vous faites fossil open, fossile va essayer de déployer la dernière version. Peut-être qu'il a écrasé vos fichiers ...

Vous devez utiliser open .... --keep si vous ne voulez pas nuire à votre répertoire de travail.

En comparaison avec git (semble que c'est votre arrière-plan):

  • dans git, chaque répertoire de travail a son propre dossier .git. Plusieurs répertoires de travail pour le même référentiel sont généralement reliés de manière rigide.
  • dans fossile, chaque répertoire de travail contient un fichier nommé _FOSSIL_ ou peut-être .fossil selon votre version. Il contient à la fois un pointeur vers le dépôt (la base de données d'objets) plus des données spécifiques à workingdir (ce que vous appelleriez HEAD, stash, additions/suppressions/renoms non validés). close va supprimer ce fichier. Donc, en termes git, c'est comme si vous l'avez fait git clone --bare . some_other_folder.git puis récursive rmdir .git. Vous avez toujours l'historique du projet quelque part, mais toutes les informations sur votre arbre de travail sont perdues.
+0

Pourquoi pas? D'après les documents, autant que j'ai lu, j'ai compris que c'était le flux de travail normal. Ouvrez, changez les fichiers, fermez. Alors est-ce plutôt Open, finish project, close? Puis-je avoir plusieurs repos ouverts à la fois? Je devrais peut-être lire les documents complets après tout ... – Ralf

+2

Vous n'avez jamais à fermer, à moins que votre projet est terminé ou que vous abandonnez un arbre de travail. 'close' détache le répertoire de travail du dépôt (en termes de git, il déplacerait le dossier' .git'). Ouvrir, modifier des fichiers, valider, modifier des fichiers, valider, etc. Vous pouvez avoir un référentiel ouvert à plusieurs endroits à la fois si vous le souhaitez. – Benoit

Questions connexes