Question

Je runnining sous Windows, avec le client des fenêtres, et git installé via Cygwin. Le client p4 comment sa syntaxe fait de la publicité est régulière sur toutes les plateformes et tout cela, ce qui devrait être Hunky Dory.

Alors, quand je vais à git-p4 clone --verbose //depot/path/to/source, il énumère tous les fichiers dans le référentiel comme si elles étaient vérifié, puis meurt en disant

  

Exception: fast-import a échoué: avertissement: Non la mise à jour refs / remotes / p4 / maître (nouvelle    pointe cd601b92da8625c90af05685e450e55b6d19c9e9 ne contient pas 3a512c9408e3cbeef   94c78dfd7115f81e4a6fd0d)

et se termine par un grand bloc de statistiques "git-fast-import". En regardant l'erreur: nouvelle astuce? Huh? Que faut-il contenir?

Ce que je suis parti avec une prise en pension est .git qui est deux mégas (beaucoup, beaucoup plus petit que l'arbre source complète serait). Toutes les idées?

Était-ce utile?

La solution

J'ai eu un problème similaire et peuvent généralement être retracée au boîtier dans les chemins, les noms de succursales, etc. ne suis pas sûr P4 mais assurez-vous que vous ne disposez pas d'une branche principale - il devrait être maître. Suivez le même régiment à travers le conseil d'administration. De plus, évitez les noms de répertoires et de fichiers avec des espaces en eux. Beaucoup d'outils git centrée sur ne pas comme ça. Gitolite est un exemple. Il ne permettra pas à un dépôt qui a un espace en elle.

Autres conseils

Tout comme la réponse acceptée, j'ai eu ce même problème en essayant de synchronisation à une branche git sous la forme:

git p4 sync --branch=feature/f1 //depot/path/to/code

Le / au nom de la branche semblait provoquer le même avertissement cryptique échec-import rapide. semble malheureusement git-p4 ne pas en charge les noms de succursales standard flux git.

Le passage à une branche comme cela a fonctionné:

git p4 sync --branch=f1 //depot/path/to/code

Est-ce que vous obtenez « Ignorer XYZ de révision car il produirait un vide Commit » pour la première CL à importer?

Si oui, vous frappez un bug dans git-p4.py où il efface le paramètre « initialParent » (nécessaire pour que git fast-import peut rejoindre les nouveaux commits à l'importation précédente) avant de s'engager quoi que ce soit . Le nouveau flux de fichiers importés sont donc sans lien laissé à l'ancienne.

Je travaille actuellement autour de cela en utilisant --changesfile et travaillant explicitement que la nécessité de CL à importer.

J'ai eu des problèmes similaires. Ce qui a fonctionné pour moi a été mise à jour du code python git-p4. Vous pouvez jeter un oeil à la validation , mais nous espérons qu'il sera tiré vers le haut bientôt.

J'ai aussi rencontré la « nouvelle pointe x ne contient pas y » erreur en cours d'exécution rapide d'importation.

Dans mon cas, cela a été causé par une commettras préexistante indépendante dans la branche principale de la pension que je tentais à l'importation. J'avais initialisé le repo avec le client GitHub qui a ajouté un commit initial (pour ajouter un fichier .gitignore). L'outil d'import-rapide sans doute ne pouvait concilier les commits importés avec l'état actuel de la branche depuis les années outil GitHub commit eu aucun lien avec les commits importés.

La solution pour moi était d'initialiser une place repo vide avec "git init" et puis exécutez fast-import.

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