J'ai deux questions sur Gerrit:
Comment convertir ou importer un référentiel Git déjà existant au format Gerrit? Il y avait beaucoup de validations sans contrôle Gerrit, je veux simplement pousser ces validations dans un projet Gerrit.
Je vois deux façons de le faire:
Copiez le répertoire Git nu existant dans Gerrit, puis ajoutez-le à la base de données. Est-ce une méthode sûre?
Poussez toutes les validations de mon référentiel local vers le référentiel gerrit.
Comment rétablir le référentiel de Gerrit au format Git d'origine? Est-il nécessaire de supprimer les branches spéciales */for/*
De Gerrit pour ce faire?
Tout d'abord: il n'y a pas de "format Gerrit" spécial. Gerrit fonctionne avec les référentiels git standard.
Créez un nouveau projet dans Gerrit (sans commit initial). Ajoutez le référentiel créé en tant que télécommande à votre référentiel existant et appuyez simplement sur Push. Vous pouvez configurer Gerrit pour autoriser une poussée directe dans le référentiel (contourner la révision), vous permettant d'importer l'intégralité du référentiel.
Alternativement, si vous avez un accès direct à l'emplacement du référentiel de Gerrit (par exemple via SSH ou sur le système de fichiers local), vous pouvez simplement pousser directement dans le référentiel (là où Gerrit l'a créé), en contournant complètement Gerrit. Vous devrez cependant vider les caches Gerrit par la suite, pour que Gerrit remarque que les HEADs du référentiel ont été mis à jour.
Comme nous l'avons dit, il n'y a pas de "format Gerrit". Clonez simplement votre référentiel depuis gerrit, et tout va bien. Vous n'avez pas à vous soucier des branches spéciales.
J'ai importé de nombreux projets GIT dans gerrit, le moyen le plus simple que j'ai trouvé était de copier le répertoire xy.git du référentiel git dans le répertoire où gerrit dépose le référentiel git. Après le redémarrage du processus gerrit, le nouveau projet figure dans la liste des nouveaux projets et vous pouvez modifier la description et les droits d'accès.
Créez simplement le nouveau projet dans Gerrit, puis appuyez sur le référentiel git là-bas. Si vous souhaitez contourner la révision, appuyez directement sur master au lieu de refs/for/master. Vous devrez ajouter l'autorisation de le faire pour vous-même.
Je pense que le message d'erreur peut être dû au fait que vous n'avez pas encore importé votre clé ssh dans Gerrit.
Il vous suffit de cloner le référentiel de Gerrit. Il n'inclura aucune branche supplémentaire.
Information additionnelle...
Vous pouvez donc copier le référentiel git directement dans l'emplacement de données gerrit et il s'affichera après un redémarrage (ou vidage du cache (réindexation)).
MAIS il vous manquera la configuration importante de votre référentiel, ce qui peut empêcher la capacité de pousser, de créer des branches, de réviser etc.
Si vous affichez le dépôt, vous verrez qu'il manque la branche "refs/meta/config". Donc, dans un système normal sans modifications, cela héritera de All-Projects, mais cela pourrait être n'importe quel projet de votre configuration.
Étapes pour corriger la configuration:
par exemple.
[access]
inheritFrom = All-Projects
Vous pouvez maintenant utiliser le référentiel avec une configuration héritée sensible identique à vos autres projets.