J'essaie d'ajouter un commentaire sur plusieurs lignes à l'aide du code suivant, mais cela échoue avec l'erreur ci-dessous, des conseils sur la façon de le corriger?
fatal: "RESOLVE" is not a valid patch set
ERREUR: - p >
message = """PLEASE RESOLVE MERGE CONFLICTS
WHAT DO I HAVE TO DO IN CASE OF MERGE CONFLICTS:
htts://confluence.sd.company.com/display/WFI/AUTO+CHERRY-PICK
""".replace("\n","\n\n")
code_review_minus_two_cmd = "ssh -p 29418 tech-gerrit.sd.company.com gerrit review %s --label Code-Review=-2 --message '%s'"%(propagated_gerrit_commit,message)
code_review_minus_two_cmd_output,code_review_minus_two_cmd_error = runCmd(code_review_minus_two_cmd)
4 Réponses :
Cela semble lié à ce bug .
Les moyens que je peux voir pour résoudre le problème en parcourant le ticket sont:
Exemple de la critique dans le lien du bogue:
ssh -p 29418 review.example.com gerrit review -m '"Build Successful"'
J'espère que quelque chose fonctionne ici. Je n'ai pas de compte gerrit à tester contre moi-même.
Il semble que les guillemets doubles ("" ") dans la définition de" message "ne fonctionnent pas comme prévu. Gerrit reçoit le paramètre comme celui-ci: --message PLEASE RESOLVE MERGE ... donc il suppose que" PLEASE " est le message et "RESOLVE" est le paramètre suivant (patchset) tel que défini dans page d'examen de gerrit dans la documentation de Gerrit .
Essayez d'utiliser des barres obliques inverses pour échapper les guillemets, comme ceci:
message = "\" VEUILLEZ RÉSOUDRE LA FUSION ... \ ""
Vous pouvez utiliser un message au format json. Le moyen le plus simple serait de créer un fichier avec le contenu suivant:
cat filename.json | ssh -p 29418 review.example.com gerrit review --json
Ensuite, exécutez cette commande ssh:
{
"labels": {
"Code-Review": "-2"
},
"message": "PLEASE RESOLVE MERGE CONFLICTS\nWHAT DO I HAVE TO DO IN CASE OF MERGE CONFLICTS:\nhttps://confluence.sd.company.com/display/WFI/AUTO+CHERRY-PICK"
}
L'exemple suivant fonctionne dans bash.
ssh -p 29418 review.example.com gerrit review -m $ '"Première ligne \ nDeuxième ligne etc."' CHANGE_ID, PATCHSET_ID / COMMIT_SHA