tag switch source remote pipelines example delete crear bad bitbucket

bitbucket - switch - source tree tag



Checkout solicitudes de extracción de bitbucket localmente (4)

Encontré esta respuesta y pensé que en realidad era posible obtener referencias para una solicitud de extracción en bitbucket.

Pero no lo es.

La respuesta a la pregunta del OP es que NO es posible : ha habido un problema de solicitud de función abierta al respecto que ha estado sin respuesta y desatendido durante cuatro cinco SEIS años.

¿La solución?

Puede obtener el PR como un archivo .patch descargable que puede descargar y aplicar a una nueva sucursal que cree manualmente. Pero no podrás aplicar actualizaciones fácilmente.

Pensé en otra salida, que he implementado en git-repo , para que todos puedan usarla. Lo que estoy haciendo es usar la API para obtener el control remoto y la sucursal de las relaciones públicas, y crear automáticamente una nueva cadena ascendente y una rama local. De esa manera puedes obtener actualizaciones del póster de relaciones públicas. El inconveniente es el desorden de los controles remotos git.

Encontré esta idea: https://gist.github.com/kennethreitz/3709868

Estoy usando bitbucket y estoy buscando una función similar.

¿Me puedes ayudar? Gracias


Parece que la forma más fácil de hacer esto es obtener un parche de la solicitud de extracción. Sobre la base de la respuesta de esta pregunta , el comentario de Alexandre sigue siendo la única forma de hacerlo. Utiliza esta llamada API de BitBucket .

Utilicé el siguiente script de bash:

USER=username PASSWORD=password REPO=repo-name PULL_NO=42 OUTPUT_FILE=output.patch # Add -i to include the HTTP-header in the output for debugging curl -u $USER:$PASSWORD https://bitbucket.org/api/2.0/repositories/$USER/$REPO/pullrequests/$PULL_NO/patch -L -o $OUTPUT_FILE

pull-patch.sh un archivo llamado pull-patch.sh y complete las variables de entorno con los detalles de su cuenta. El script requiere que tenga instalado el curl (por ejemplo, sudo apt install curl ). Entonces corre:

chmod +x pull-patch.sh ./pull-patch.sh

Y un archivo llamado output.patch debe crearse desde la solicitud de extracción.


Seguí este artículo Pull request Fetching .

Funcionó, pero descubrí que solo necesitaba agregar una línea al repositorio actual, en lugar de crear un repositorio popular y un repositorio ascendente. Corre esta linea

git config --add remote.origin.fetch ''+refs/pull-requests/*/from:refs/remotes/origin/pr/*''

También puede agregarlo manualmente al archivo .git / config en su proyecto.

A continuación, ejecute git pull , debería ver una lista:

  • [nueva ref] refs / pull-request / 488 / from -> origin / pr / 488
  • [nueva ref] refs / pull-request / 666 / from -> origin / pr / 666

Luego puede ejecutar git checkout origin/pr/666 para obtener los cambios de solicitud de extracción.


Uno puede obtener el código de las solicitudes de extracción de Bitbucket Server usando:

git fetch origin refs/pull-requests/$PR_NO/from:$LOCAL_BRANCH