gitpkg: en línea en la nube

Este es el comando gitpkg que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


gitpkg: exporta un paquete fuente Debian desde las revisiones de git nominadas

SINOPSIS


gitpkg biblioteca [rama original]

DESCRIPCIÓN


If gitpkg se ejecuta en un git(1) repositorio con una sola 'rama' especificada, luego hará una git-
Archivo exportación de esa rama a la DEB_DIR directorio. Si el paquete es nativo de Debian
simplemente creará un paquete fuente a partir de él. Si el paquete tiene una versión Debian, entonces
se espera que ya exista un archivo original para él. Si un orig tarball no
ya existen, entonces lo que suceda a continuación depende del valor de la gitpkg.create-fake-orig
opción de configuración (descrita a continuación).

If gitpkg se invoca con dos ramas especificadas, luego se exportará la primera rama
como fuente completa desempaquetada, mientras que la segunda rama se exportará para el
orig.tar.gz. Esto permite que todos los cambios locales en la fuente se registren en el resultado
diff.gz si existe una rama ascendente prístina en el repositorio. Si un orig tarball
ya existe para la versión en 'rama', entonces lo que sucede a continuación depende del valor de
las gitpkg.force-oversrite-orig opción de configuración (descrita a continuación).

El 'biblioteca'siempre debería tener un debian/ dir y puede ser cualquier arbolito objeto que es
aceptado por archivo-git(1). El 'rama original', si se suministra, normalmente no debe tener un
debian/dir.

CONFIGURACIÓN CAMPUS


Casi todos gitpkg la configuración se maneja usando git-config(1) ahora. La siguiente
las opciones de configuración son compatibles:

gitpkg.deb-dir
Puede configurarse para anular el directorio de destino predeterminado para los paquetes exportados.
El valor predeterminado es '../deb-paquetes'. Disponible para enganchar scripts como DEB_DIR. Esto podría ser
anulado en la línea de comando con el --deb-dir =camino .

gitpkg.build-rootcmd
Puede configurarse para anular el comando predeterminado utilizado para obtener la raíz para la compilación del paquete
operaciones. El valor predeterminado es 'raíz falsa'. Disponible para enganchar scripts como BUILD_ROOTCMD.

gitpkg.prebuild-objetivo
Puede establecerse en un objetivo u objetivos de debian / reglas que se llamará después del
El árbol de fuentes de Debian se exporta, pero antes de que se compile el paquete de fuentes. Algunos
Los paquetes pueden usar esto para generar archivos autoconf o similares, que deberían
generalmente no está en el repositorio, pero debería estar en el paquete distribuido. El
el destino se invoca mediante BUILD_ROOTCMD. Un uso común de este gancho sería
llamar al paquete 'limpia' objetivo. Este gancho no está configurado por defecto desde gitpkg
0.18. Anteriormente, tenía como valor predeterminado el objetivo limpio. Disponible para enganchar
guiones como PREBUILD_TARGET.

gitpkg.orig-compresor
Puede configurarse para anular la compresión predeterminada para un package.orig.tar exportado.
El valor predeterminado es 'gzip'. Para paquetes de formato 3.0, los valores válidos también incluyen xz y
bzip2. Disponible para enganchar scripts como ORIG_COMPRESOR.

gitpkg.orig-comprimir-nivel
Un nivel de compresión opcional para usar con gitpkg.orig-compresor. 1 suele ser el
el más rápido y el 9 suele ser el más pequeño, con los detalles precisos de todo
entre estar a la altura del compresor elegido. El valor predeterminado es desarmado (que usará
cualquiera que sea el compresor predeterminado). Disponible para enganchar scripts como
ORIG_COMPRESS_LEVEL.

compresor gitpkg.deb
Puede configurarse para anular la compresión predeterminada utilizada por dpkg-fuente(1) para exportado
paquetes. El valor predeterminado (si no está configurado) es usar lo que sea dpkg-fuente quiere usar. Para
paquetes de formato 3.0, los valores válidos también incluyen xz y bzip2. Disponible para enganchar
guiones como DEB_COMPRESSOR.

gitpkg.deb-compress-nivel
Un nivel de compresión opcional para usar con compresor gitpkg.deb. 1 suele ser el
el más rápido y el 9 suele ser el más pequeño, con los detalles precisos de todo
entre estar a la altura del compresor elegido. El valor predeterminado es desarmado (que usará
cualquiera que sea el dpkg-fuente el valor predeterminado es, actualmente '9'). Disponible para enganchar scripts como
DEB_COMPRESS_LEVEL.

gitpkg.dpkg-fuente
Puede configurarse para pasar opciones arbitrarias textualmente a dpkg-fuente(1) al construir el
paquete fuente. Úselo con precaución y bajo su propio riesgo. Pasar múltiples opciones
a dpkg-fuente debe configurar esta opción varias veces (es decir, utilizando git config --agregar
para cada opción) debido a los divertidos requisitos de cotización para opciones como
como "--format = 3.0 (nativo)". El valor predeterminado es vacío. Disponible para enganchar scripts como
matriz indexada DPKG_SOURCE_OPTS. No utilice esto para configurar el dpkg-fuente(1) -Z or -z
opciones, en su lugar deben establecerse utilizando el compresor deb y nivel de compresión deb
opciones respectivamente. Esto se puede anular en la línea de comando con el
--dpkg-source =arg opción, que también debe pasarse varias veces para establecer
múltiples opciones.

gitpkg.create-fake-orig
A veces, tanto la fuente ascendente como el soporte de Debian realmente se entremezclan en un
rama única del repositorio, pero aún le gustaría hacer un paquete 'no nativo' de
él. gitpkg puede falsificar un orig tarball de tal árbol con todo menos el
contenido del directorio debian /. Establecer esta opción en 'verdadero' hace que
comportamiento el predeterminado si se pasa un solo árbol a gitpkg y no correspondiente
se encuentra orig tarball. Establecer esta opción en 'falso' hará gitpkg fallar,
reportando un error, si se pasa un solo árbol y no hay una bola original con el
la versión correcta ya existe para él (y no se recuperó ninguna mediante un script de gancho
antes de que sea necesario). Si esta opción no está configurada, se le pedirá al usuario
para saber qué hacer si se presenta esta situación. El valor predeterminado es desarmado. Disponible
para enganchar scripts como CREAR_FALSO_ORIG.

gitpkg.force-oversrite-orig
Esta opción controla el comportamiento de gitpkg si un árbol de 'origbranch' es
especificado y el orig.tar correspondiente para la 'rama' ya existe. Si esto
está configurado en 'verdadero', entonces el orig.tar se sobrescribirá con la fuente del repositorio (para
reutilizar un orig.tar existente simplemente llamar gitpkg con solo la 'rama' de Debian
treeish que desea exportar). Si se establece en 'falso', entonces es un error difícil de
intente exportar la fuente ascendente nuevamente cuando el orig.tar ya existe, y
gitpkg terminará y te regañará si lo intentas. Si no está configurado, se le pedirá
sobre si sobrescribirlo o no, y la compilación continuará usando lo que sea
de los dos que seleccionaste. El valor predeterminado es desarmado. Disponible para enganchar scripts como
FORCE_OVERWRITE_ORIG.

gitpkg.mantener-unpacked-fuente
Esta opción controla si el directorio de origen descomprimido se mantiene o no después de la
la exportación del paquete y el gancho de salida se han completado con éxito. Si esto se establece en
"verdadero", se conservará la fuente descomprimida. Si se establece en 'falso' o no se establece, entonces
El directorio se eliminará como operación final antes gitpkg salidas si todas las anteriores
las operaciones se completaron con éxito. El valor predeterminado es desarmado. Disponible para enganchar scripts como
MANTENER_DESEMPAQUETADO_FUENTE. Esto se puede anular en la línea de comando con el
--keep-unpacked-source =bool opción (donde 'no' o 'falso' no lo mantendrá, y cualquier
otro valor, incluido nada, lo hará).

GUIÓN MANOS


Los scripts definidos por el usuario se pueden invocar desde varios puntos durante la construcción del paquete.
proceso. Se obtienen en gitpkg como fragmentos de shell de bash, en la mayoría de los casos en un
subshell, para que puedan leer las variables de estado y realizar acciones externas, pero no pueden alterar
la configuración en ejecución una vez que una compilación está en progreso. Si un gancho regresa con un valor distinto de cero
estado, entonces gitpkg se dará por terminado. (Los ganchos que terminan gitpkg deberían tomar algunos
cuidado de no dejar demasiado desorden, pero también debe dejar suficientes pistas intactas para el
usuario para diagnosticar y solucionar el problema. Mensajes de error útiles e informativos
debe ser ladrado a stderr antes de salir de esta manera).

Los scripts de enlace se pueden instalar en el sistema host fuera del árbol de repositorios o se pueden obtener de
archivos controlados por versión en el propio repositorio. Ambos métodos tienen ventajas y riesgos para
diferentes casos de uso. Los scripts de gancho son activados por el administrador local, configurando cada
git-config(1) opción con la ruta al script a ejecutar. Los caminos pueden ser
absoluto o relativo al directorio desde el que se llama ese gancho. Si se coloca un gancho,
la secuencia de comandos debe existen cuando se llama. Se debe tener cuidado de habilitarlos solo para su uso
por árboles de fuentes confiables al conectarse a archivos en el repositorio mismo. Normalmente deberías
habilítelos por repositorio con git-config(1) en lugar de a --global or --sistema
.

A breve amonestación en contra conseguir enganchado:
Debe evitar que los complicados arreglos de gancho en el paquete se vuelvan esenciales para exportar
la fuente de su paquete. Si los necesita para crear un paquete en particular correctamente y necesita
vinculante de versión estricta con la fuente que se publica, y no son útiles para ningún otro
paquete en absoluto ... entonces es muy probable que esté haciendo algo, o varias cosas, bastante
incorrecto. De lo contrario, estás en una mierda tan profunda trabajando alrededor de un sistema de construcción roto que
no necesito que te lo cuente. De cualquier manera, el administrador local tiene que habilitar sus ganchos
antes de que puedan correr, así que si quieres ser amigable con los demás (y contigo mismo), mantén la
El embalaje 'normal' funciona estrictamente dentro de las herramientas habituales de construcción de paquetes y deja el
gitpkg se engancha gratis para que otros administradores locales envuelvan cualquier automatización que sea ellos necesite
alrededor de las cosas. Si una versión particular de la fuente del paquete necesita alguna
acciones realizadas en él antes de la primera compilación del paquete fuente, luego PREBUILD_TARGET
La opción de arriba es probablemente lo que desea en lugar de uno de estos ganchos. Otro
la gente puede usarlo de nuevo más tarde sin necesidad de tener gitpkg a mano. El objetivo es para
esto para ayudarte. Por algunos valores de All Of You. Así que tenga cuidado de no dejarlo
joder a otras personas si el gancho no se llama, y ​​/ o hacerles saber lo que necesitan
hazlo en su lugar si no lo es. Bien, entonces hay que tener cuidado con la púa, así que volvamos al grano
nuevo:

Gancho puntos
Los puntos de gancho disponibles se enumeran a continuación aproximadamente en el orden en que normalmente se encontrarían.
invocado:

gitpkg.package-config-hook
Este gancho se ejecuta en el directorio de nivel superior del repositorio. gitpkg fue invocado en, antes
a cualquier operación que tenga lugar, con todos git-config(1) opciones de origen disponibles para
eso. No hay información detallada sobre el paquete en sí disponible en el gancho.
entorno todavía, ni siquiera su nombre o versión, sólo el árbol (s) que gitpkg
fue pasada por el usuario, pero el gancho puede ejecutar sus propias autocomprobaciones basadas en la
contenido actual (posiblemente 'sucio') del árbol de trabajo que gitpkg fue invocado en.

Este gancho puede modificar el gitpkg variables de configuración para posteriores
operaciones. Puede realizar operaciones en el repositorio si es necesario, pero como necesita
estar comprometido con el repositorio antes de que sea llamado, eso puede no ser tan útil
aquí en la práctica. Básicamente, puede hacer lo que quiera, es solo un caparazón
guión, nada más ha comenzado todavía, y se ha obtenido en la parte superior
nivel de caparazón de gitpkg.

Su funcionamiento es diferente al administrador-configuración-gancho en un solo aspecto, el camino
a este gancho debe ser relativo al TLD del repositorio y la revisión del archivo
que se obtendrá se extrae del árbol de la 'rama' que gitpkg fue
solicitado para exportar. El archivo debe existir en esa versión en la ruta indicada.

Disponible para enganchar scripts como PAQUETE_CONFIG_HOOK.

gitpkg.admin-config-hook
Este gancho se ejecuta después del paquete-config-hook devuelve, y se diferencia de él en
operación solo leyendo un archivo estático del sistema de archivos actual en lugar de
extraer una versión controlada del repositorio que se está exportando.

Esto puede ser utilizado por el administrador local para anular cualquier opción específica del paquete, que
puede haber sido establecido por el paquete-config-hook, con configuración específica del sitio.
Este es un control de políticas, no de seguridad. La seguridad se acabó cuando dejaste
las paquete-config-hook ejecutar, esto solo le permite anularlo sin tener que fingir
hasta un nuevo compromiso cambiando el paquete hook.

Este es el último gancho para ejecutar que puede modificar el gitpkg configuración y
establezca las opciones de entorno que serán visibles para los ganchos posteriores. Disponible para enganchar
guiones como ADMIN_CONFIG_HOOK. Esto se puede anular en la línea de comando con el
--admin-config-hook =camino .

gitpkg.pre-exportación-gancho
Este enlace se ejecuta en el directorio de nivel superior del repositorio, después del nombre del paquete y
se ha determinado la versión, y con la configuración final del paquete que incluye
cualquier ajuste de los ganchos anteriores. No puede alterar ninguna opción de configuración,
solo actuar sobre ellos o terminar gitpkg.

Esto se puede usar para hacer cosas como invocar pristine-tar o precargar un original existente.
tarball de alguna fuente extranjera. Puede realizar operaciones en el repositorio si alguna
que desee, o cualquier otro control de última hora que deba realizarse antes de
realmente nos ocupamos de exportar la fuente que queremos empaquetar.

Disponible para enganchar scripts como PRE_EXPORT_GANCHO.

gitpkg.deb-export-gancho
Este enlace se ejecuta en el directorio de nivel superior de la fuente debian exportada,
inmediatamente después de que la fuente se haya exportado desde el arbolitoy
inmediatamente antes de la PREBUILD_TARGET siendo invocado (si se proporciona). No puede
alterar las opciones de configuración, solo actuar sobre ellas o terminar gitpkg. Si esto
gancho termina gitpkg, el directorio de origen exportado se dejará en el sistema
para que el usuario lo inspeccione. Invocaciones posteriores de gitpkg para el mismo lanzamiento
Sin embargo, la versión la sobrescribirá. Disponible para enganchar scripts como DEB_EXPORT_HOOK.

gitpkg.orig-export-gancho
Este enlace se ejecuta en el directorio de nivel superior de la fuente 'ascendente' exportada,
inmediatamente después de que la fuente se haya exportado desde el arbolitoy
antes de que se comprima en un tarball. No puede alterar ninguna configuración
opciones, solo actuar sobre ellas o rescindir gitpkg. Si este gancho termina gitpkg,
el directorio de origen exportado se dejará en el sistema para que el usuario lo inspeccione.
Invocaciones posteriores de gitpkg para la misma versión de lanzamiento la sobrescribirá
sin embargo.

Este gancho es , solamente se invoca si el 'origbranch' ascendente en realidad se exporta desde
el repositorio. Si un orig.tar existente se encuentra o ha sido creado por algún
gancho anterior (y no se sobrescribe, consulte forzar-sobrescribir-orig encima),
entonces se presume que las operaciones que realizaría este gancho ya han ocurrido
para este tarball y se salta.

No es seguro asumir que este gancho se ejecutará antes o después debutante-
exportación-gancho, y de hecho puede ejecutarse en paralelo con él en algún punto de la
futuro. Ambos se ingresarán después gancho de preexportación devuelve, y gancho de salida
no comenzará hasta (al menos) después de que ambos hayan regresado. ¿Qué más sucede en el
en medio de todo lo que no hacemos promesas firmes en esta etapa.

Disponible para enganchar scripts como ORIG_EXPORT_HOOK.

gitpkg.gancho de salida
Este gancho se ejecuta en el directorio donde el paquete .dsc fue depositado por dpkg-
fuente(1), después de todo interno gitpkg las operaciones se han completado con éxito. Es
demasiado tarde para alterar las opciones de configuración, o incluso para terminar gitpkg De Verdad.
Puedes hacer prácticamente lo que quieras con este, cualquier cosa que salga mal de
aquí es obra tuya. Disponible para enganchar scripts como SALIR_GANCHO. Esto podría ser
anulado en la línea de comando con el --exit-hook =camino .

Gancho Entorno
Las siguientes variables están disponibles para los scripts de gancho, además de las que ya
enumerado como sombreado de un git-config opción desde arriba. No todos son válidos / útiles en
todos los puntos de gancho, consulte la documentación de gancho anterior para conocer las excepciones que se aplican a
manos.

GITPKG_HOOK_API
Permite que los scripts de enlace consulten qué interfaces están disponibles para ellos. Tiene solo dos
componentes numéricos separados por un '.' de los cuales el número a la derecha del punto
se incrementará cada vez que agreguemos alguna nueva variable a la que un gancho pueda acceder, o
agregue una nueva perilla que podría modificar donde las interfaces existentes no hayan cambiado.
Si nos equivocamos y necesitamos cambiar alguna interfaz actual, el número a la izquierda
será golpeado. La versión actual de la API es 0.2

Disponible in API versión 0.1
Estas variables han estado disponibles para los ganchos desde la versión 0.13 de gitpkg.

GITPKG_TREEISH
El árbol de la 'rama' de Debian pasado por el usuario que gitpkg fue invocado para exportar.

GITPKG_ORIG_TREEISH
El árbol-ish 'origbranch' con el que se invocó gitpkg. Esto estará vacío si solo
se especificó una sola 'rama' en forma de árbol.

DEB_FUENTE
El nombre del paquete fuente que se va a crear, sin ningún control de versiones. Como se ve en el
Fuente: campo de dpkg-parsechangelog(1).

DEB_VERSIÓN
La versión del paquete fuente a crear, sin ninguna época. Como se ve en el
nombre de los archivos .diff.gz y .dsc.

UPSTREAM_VERSION
La versión del paquete fuente a crear, sin ninguna versión de Debian. Como se vio
en el nombre del original tarball. Para paquetes nativos, esto será lo mismo que
DEB_VERSIÓN.

DEB_ORIG
El nombre de archivo con versión completa del archivo original que se va a usar o crear. Esta variable es
vacío para paquetes nativos sin una parte de la versión Debian.

DEB_DSC
El nombre de archivo completo del paquete .dsc que será o ha sido creado.

PAQUETE_DEB
El nombre del directorio del árbol de fuentes debianizado al que pasar dpkg-fuente(1).

REPO_DIR
Una ruta absoluta al directorio de nivel superior del repositorio de git desde el que estamos exportando.
Por lo general, si necesita mirar por el árbol en el que lo dejaron caer,
probablemente haciendo algo (en el) momento incorrecto, pero hay excepciones, y ser
capaz de consultar git-config opciones es una de ellas. Eso es principalmente lo que es este
por ahora. Ver el ayudante de configuración de repositorio documentado a continuación. Ten cuidado si lo haces
Úselo para mucho más.

Disponible in API versión 0.2
Estas variables han estado disponibles para los ganchos desde la versión 0.24 de gitpkg.

GITPKG_AOPTS
Una matriz asociativa que contiene las opciones de la línea de comando no analizadas por gitpkg
sí mismo, que se puede utilizar para anular el comportamiento de un gancho. La matriz está codificada
en los nombres de las opciones con el '-' eliminado. Si se pasó una opción
varias veces, solo el último valor pasado se almacenará en esta matriz. Para
ejemplo:

$ gitpkg --my-option = foo --option2 --opt = oops --opt = 'bar baz'

Daré:

$ {GITPKG_AOPTS [mi-opción]} = "foo"
$ {GITPKG_AOPTS [option2]} = ""
$ {GITPKG_AOPTS [opt]} = "bar baz"

GITPKG_IOPTS
Una matriz indexada que contiene las opciones de la línea de comando no analizadas por gitpkg sí mismo
que se puede utilizar para anular el comportamiento de un gancho. La matriz contiene el
cadenas de opciones literales pasadas y, por lo tanto, se pueden usar para acceder a opciones que son
destinado a ser pasado varias veces. Por ejemplo:

$ gitpkg --my-option = foo --option2 --opt = oops --opt = 'bar baz'

Daré:

$ {GITPKG_IOPTS [0]} = "--my-option = foo"
$ {GITPKG_IOPTS [1]} = "--opción2"
$ {GITPKG_IOPTS [2]} = "--opt = oops"
$ {GITPKG_IOPTS [3]} = "--opt = bar baz"

El extraer_valores_para_opción Funcionar en ayudante de configuración de repositorio (ver más abajo para más detalles
de él) se puede utilizar para analizar aún más esta matriz para obtener todos los valores para un
opción específica.

Gancho Biblioteca
Hay algunos scripts de enlace enlatados para varias tareas disponibles en / usr / share / gitpkg / hooks
que actualmente incluyen:

gancho-salida-cowpoke
Un simple gancho de salida que envía el paquete exportado para construirlo usando vaquero(1).
Para habilitarlo:

$ git config gitpkg.exit-hook / usr / share / gitpkg / hooks / cowpoke-exit-hook

Adicionales git-config(1) opciones de configuración:

gitpkg-cowpoke-exit-hook.preguntar primero
Si es 'verdadero', solicite confirmación antes de llamar vaquero. El valor predeterminado es solo
Adelante, hazlo.

gitpkg-cowpoke-exit-hook.opciones
Puede incluir cualquier otra opción para pasar literalmente a vaquero. Pasar múltiples
opciones, configúrelo varias veces, una vez para cada opción. Esto podría ser
anulado en la línea de comando con el --cowpoke =arg opción, que igualmente
debe pasarse varias veces para establecer varias opciones.

gancho de salida de dpkg-buildpackage
Un simple gancho de salida para construir paquetes binarios localmente con paquete de compilación dpkg(1). Para
permitirle:

$ git config gitpkg.exit-hook / usr / share / gitpkg / hooks / dpkg-buildpackage-exit-hook

Adicionales git-config(1) opciones de configuración:

gitpkg-dpkg-buildpackage-gancho-de-salida.preguntar-primero
Si es 'verdadero', solicite confirmación antes de llamar paquete de compilación dpkg. Defecto
es simplemente hacerlo.

gitpkg-dpkg-buildpackage-exit-hook.opciones
Puede incluir cualquier otra opción para pasar literalmente a paquete de compilación dpkg. Pasar
múltiples opciones, configúrelo varias veces, una vez para cada opción. Esto podría ser
anulado en la línea de comando con el --dpkg-bp =arg opción, que igualmente
debe pasarse varias veces para establecer varias opciones.

gitpkg-dpkg-buildpackage-exit-hook.build-log
Si se establece en 'falso', no guarde un registro del proceso de compilación, el valor predeterminado es registrar
uno.

gancho-pre-exportación-alquitrán-prístino
Un anzuelo para extraer una bola de orig tar utilizando alquitrán prístino. Qué origen extraer es
determinado por la versión del paquete de la 'rama' en forma de árbol. Para habilitarlo:

$ git config gitpkg.pre-export-hook / usr / share / gitpkg / hooks / pristine-tar-pre-export-hook

Si no se encuentra una rama pristine-tar en el repositorio, se terminará gitpkg.

colcha-parches-deb-export-hook
Este gancho lee una lista de rangos de revisión adecuados para parche de formato git(1) de la
presentar debian / source / git-patches, uno por línea, y los exporta a la debian / parches
directorio en un formato adecuado para paquetes de edredones (formato 3.0). No es necesario para
crear dichos paquetes, pero le permite separar los parches individuales como desee
por favor desde el parche único predeterminado que de otra manera es creado por dpkg-fuente.

Para habilitarlo:

$ git config gitpkg.deb-export-hook / usr / share / gitpkg / hooks / quilt-patches-deb-export-hook

Los contenidos de debian / source / git-patches puede incluir comentarios (en cualquier línea que comience
con un #), líneas vacías y expresiones de un rango de confirmaciones. Los rangos de revisión
puede incluir $ DEB_VERSION, $ UPSTREAM_VERSION, $ DEB_REF or $ UPSTREAM_REF. La primera
par se sustituirá por la versión del paquete que se está exportando, el segundo
emparejar con esas cadenas de versión después de manipular por higienizar_git_ref para reasignarlos a un
git legal nombreref. En la mayoría de los casos, es preferible utilizar las versiones desinfectadas.
Por ejemplo:

# Exportar todas las confirmaciones entre estos dos treeishes,
# según la versión del paquete que se exporta.

corriente arriba / $ UPSTREAM_REF..patches / $ DEB_REF

debcherry-deb-export-gancho
Este gancho invoca git-debcherry(1) para buscar y exportar parches a la fuente ascendente
en una forma adecuada para su uso con paquetes de colchas (formato 3.0). Permite un más
flujo de trabajo natural (y automático) que el gancho de parches de colcha de arriba buscando
parches realizados en la rama de envasado que aún no se han aplicado en sentido ascendente.

Para habilitarlo:

$ git config gitpkg.deb-export-hook / usr / share / gitpkg / hooks / debcherry-deb-export-hook

Para utilizar este gancho, $ {DEB_ORIG} .commit Se debe crear un archivo que contenga
el árbol de la fuente ascendente exportada en el repositorio. Esto será creado
automáticamente (si este gancho está habilitado) cuando exporta un tarball ascendente pasando
ambas biblioteca y rama original a gitpkg, o si usa el gancho-pre-exportación-alquitrán-prístino,
que determina un compromiso apropiado correspondiente al tarball. Si estas aguas arriba
tarball se crea utilizando algún otro mecanismo que necesitará para asegurarse de que el archivo es
creado usted mismo.

Si usa este gancho, es posible que desee documentarlo en su repositorio con algo
similar al texto en /usr/share/doc/gitpkg/examples/README.debcherry-export como herramienta de edición del
conveniencia para otros usuarios. Su paquete seguirá siendo exportable sin este gancho
habilitado, simplemente no tendrá los parches ascendentes separados individualmente en un
serie de edredones.

Gancho Biblioteca Ayudantes
Estos son fragmentos aún más triviales, para operaciones que pueden ser compartidas por varios
guiones. También encontrado en / usr / share / gitpkg / hooks. Por lo general, estos proceden de otros
scripts en lugar de estar enganchado directamente.

ayudante de configuración de repositorio
Proporciona un envoltorio simple alrededor de `git config`, lo que garantiza que se llame desde el
árbol de repositorios donde se pueden almacenar las opciones de configuración específicas del repositorio. Útil para guiones
que no se llaman desde el interior del árbol de repositorios, pero que tienen git-config opciones de
propios para consultar.

Proporciona el higienizar_git_ref función de shell que reasigna cadenas de caracteres que son
ilegal de usar en un git refname.

Proporciona el extraer_valores_para_opción función de shell que se puede utilizar para extraer una
matriz de los valores para una opción particular de GITPKG_IOPTS.

Consulte el contenido de ese archivo para obtener documentación más detallada sobre las funciones.
que proporciona

INTERACTIVIDAD


Si tiene la intención de llamar gitpkg de sus propios scripts, debe tener en cuenta que hay
dos situaciones en las que puede aparecer de forma interactiva de forma predeterminada. No hay nadie verdaderamente cuerdo
Predeterminado para estos casos, por lo que es mejor preguntarle al usuario y continuar que hacer
ellos comienzan todo el proceso de nuevo en el caso probable en el que hayan llamado gitpkg
directamente. Para obtener más detalles, consulte la gitpkg.force-oversrite-orig y gitpkg.create-fake-orig
opciones de configuración anteriores. Debes establecer ambos explícitamente en el comportamiento que deseas
de ellos si gitpkg nunca debe volverse interactivo.

FLUJO DE TRABAJO


Frente a gitpkg explícitamente no intenta imponerle ningún procedimiento de flujo de trabajo en particular
para aprovecharlo al máximo, probablemente valga la pena mencionar rápidamente al menos una
forma sencilla de administrar paquetes Debian en git.

Una estructura de repositorio común es mantener una fuente ascendente prístina en una rama, que es
actualizado directamente desde un repositorio ascendente o importando archivos tar en él
periódicamente, con la fuente parcheada de Debian en otra rama. En esta situación el
La tarea de preparar una nueva versión ascendente de un tarball podría verse un poco así:

Echa un vistazo a la rama aguas arriba
$cd myrepo
$ git checkout corriente arriba

Elimine todos los archivos anteriores del repositorio
$ rm -rf $ (todos_archivos_excepto .git)

Desempaqueta el nuevo tarball en su lugar
$ tar zxf $ new_upstream.tar.gz

Deje que git descubra qué se renombra / nuevo / desaparecido por sí mismo.
Asegúrese de no tener cosas como archivos vim .swp al acecho
en el árbol todavía en este punto.
$ git add.
$ git confirmar -a
$ git etiqueta v $ upstream_version

Prepare la rama Debian
$ git pago debian
$ git fusionar aguas arriba
$ $ (actualiza el registro de cambios y otros parches de Debian, etc.)
$ git confirmar -a
$ git etiqueta v $ {upstream_version} - $ debian_version

Hacer un lanzamiento
$ gitpkg v $ {upstream_version} - $ debian_version v $ upstream_version
$ cd ../deb-packages/mypackage && dpkg-buildpackage ...

Use gitpkg en línea usando los servicios de onworks.net



Últimos programas en línea de Linux y Windows