Comment puis-je résoudre un git-svn indice de discordance?

Quand j'ai fait un git svn rebase il s'est arrêté à un point en disant:

Index mismatch: SHA key of a tree != SHA key of another tree. (Je viens de savoir que ces SHA touches correspond à un arbre et pas un commit à partir de git show de plus de deux sha clés.)

re-reading <sha index of a commit in svn/trunk>
... list of files ...
fatal: bad object <SHA1 index of the bad object>
rev-list -1 <SHA1 index of the bad object> --not <SHA1 index of the revision it was trying to re-read>: command returned error: 128

Je ne suis pas très expérimenté dans le fonctionnement interne de git, donc, il y a une séquence d'étapes à suivre pour disséquer les problèmes de ce genre et, éventuellement, de les résoudre?

  • Le premier pense que je voudrais essayer soupçonné d'avoir corrompu référentiel est un git fsck.
  • Merci pour votre suggestion. J'ai fait un git fsck et il a énuméré un tas de pendre des arbres, des validations et des gouttes. Je me suis fait référence à cette section dans Git manuel de l'utilisateur: kernel.org/pub/software/scm/git/docs/... et essayer de comprendre ce qui s'est passé dans le repo. Heureusement, un couple de semaines, j'archivées mes .git dossier de mon collègue de se lever et courir avec le repo. J'ai utilisé et créé un nouveau repo et de poursuivre mon travail alors que je comprendre ce qui s'est passé à l'est corrompue.
  • Seule chose que je peux penser, c'est que quelqu'un d'autre, éventuellement indexé avant vous, ainsi que de modifier le SHA de clé de la télécommande pensions et de vous donner l'erreur que vous voyez maintenant. Si vous tirez les modifications apportées à l'arbre, résoudre les conflits, alors rebase à partir de là, il pourrait fonctionner correctement.
  • On ne voit pendre s'engage, pas de ceux qui manquent? Cela est raisonnablement normal -- balançant s'engage sont créés lors de l'année de référence, et balançant d'arbres lors de l'utilisation de git add -- l'indice est maintenu comme un arbre.
  • Le dépôt distant est un référentiel SVN, et SVN ne prend pas en charge la réécriture de l'histoire, donc je ne suis pas sûr de ce que tu veux dire
InformationsquelleAutor yasouser | 2010-11-01