2012-06-28 1 views
0

J'essaye un fossile pour la première fois, et je me suis trompé en quelques minutes. J'ai créé un référentiel, puis j'ai apparemment exécuté des commandes dans les mauvais dossiers, etc., j'ai finalement supprimé le référentiel de test, afin de redémarrer. (Quelque part j'avais lu que le fossile était "autonome", alors j'ai pensé, supprimer un fichier de référentiel serait correct.) Quelle est la bonne façon de supprimer un dépôt fossile?)Fossil: "référentiel non valide" - référentiel supprimé

Maintenant, avec presque toutes les commandes que j'essaie (y compris "tout reconstruire"), j'obtiens l'erreur "pas un référentiel valide" avec le nom du référentiel supprimé.

Et maintenant?

Répondre

0

Selon this post:

L'erreur « pas un dépôt valide » ne se pose que lorsque fossile tente de mesurer la taille du fichier référentiel et voit que soit le fichier n'existe pas ou bien que la la taille du fichier est moins que 1024 octets. Il le fait en appelant stat() sur le fichier et en regardant le champ stat.st_size.

Il semble probable que vous ayez un fichier fossile manquant ou tronqué. Assurez-vous que vous avez effectivement supprimé le fichier de référentiel et que votre système de fichiers a effectivement libéré les handles de fichiers. Fossil stocke certaines informations de dépôt dans ~/.fossil, vous devrez peut-être également supprimer cela.

rm ~/.fossil 

Dans les cas flagrants, vous pouvez redémarrer après la suppression de ce fichier, juste pour être sûr que vous travaillez avec une ardoise propre.

Si vous rencontrez toujours des problèmes, essayez de créer un nouveau fichier de référentiel dans un répertoire différent. Par exemple:

cd /tmp 
fossil init foo.fsl 
fossil open foo.fsl 
fossil close 

Si tout cela se passe bien, vous devrez traquer ce que les restes du dépôt rôdent. Tant que les handles de fichiers sont fermés, il n'y a aucune raison pour que vous ne puissiez pas supprimer foo.fsl (ou autre) et l'appeler bien.

+0

Merci, CodeGnome. Oui, comme je l'ai dit, j'ai supprimé le fichier. Je ne sais pas sur les handles de fichiers. Je suppose que vous vous référez à quelque chose de Linux. "rm" est aussi Linux, n'est-ce pas? Je suis sur Windows. Pendant ce temps, j'ai récupéré le fichier supprimé de la corbeille, qui a corrigé le message d'erreur.La reconstruction a fonctionné aussi, puis j'ai ouvert le dépôt, je l'ai refermé, puis je l'ai supprimé, et maintenant ça semble aller. Alors peut-être ne devrait-on pas supprimer un dépôt ouvert? – Ralf

+0

@Ralf Right ... la suppression d'un référentiel ouvert entraînera généralement des erreurs, quelle que soit la plate-forme. Il est toujours préférable de fermer le référentiel en premier, puis de le supprimer. Content que tu sois au carré! –

0

Je viens de rencontrer exactement le même problème sur Windows. Moi aussi, j'ai l'air d'avoir trouvé une solution. Voici ce que j'ai fait. Je ne peux pas garantir que c'est une solution universelle ou même une bonne solution. Dans:

C:\Users\mywindowsusername\AppData\Local 

Il y avait un fichier nommé _fossil et un répertoire/dossier nommé VirtualStore. J'ai supprimé les deux. Cela semble avoir supprimé toutes les traces du référentiel. Notez que le référentiel était toujours dans l'état "ouvert", comme dans votre cas. Edit: Après avoir expérimenté plus loin, il semblerait que VirtualStore soit un répertoire temporaire qui disparaîtra après validation (un fichier .fossil apparaîtra alors dans le répertoire ciblé). Mon erreur était de créer un dépôt à la racine et de cloner: fossile a procédé à cloner le lecteur C entier. Probablement une erreur de débutant commun.

Questions connexes