Articles of git

¿Cuál es la mejor manera de ejecutar versiones de REST API con Python Flask

Estoy creando una API REST en Python Flask y me gustaría saber cuáles son las opciones para crear una API versionable que haga referencia a una etiqueta git específica. Lo que quiero poder hacer es especificar una versión de la API, por ejemplo, http://myapiserver.com/flaskapp/query/listcontent?version=1.1 Y luego haga que la versión vuelva al código que he […]

Ejecutando subproceso python a través de git hook

Estoy ejecutando Gitolite sobre el repository de Git y tengo un enlace de post-recepción escrito en Python. Necesito ejecutar el comando “git” en el directorio del repository de git. Hay pocas líneas de código: proc = subprocess.Popen([‘git’, ‘log’, ‘-n1′], cwd=’/home/git/repos/testing.git’ stdout=subprocess.PIPE, stderr=subprocess.PIPE) proc.communicate() Después de hacer un nuevo compromiso y empujar al repository, los scripts […]

Hacer que el subproceso encuentre git ejecutable en Windows

import subprocess proc = subprocess.Popen(‘git status’) print ‘result: ‘, proc.communicate() Tengo git en la ruta de mi sistema, pero cuando ejecuto un subproceso como este recibo: WindowsError: [Error 2] The system cannot find the file specified ¿Cómo puedo obtener un subproceso para encontrar git en la ruta del sistema? Python 2.6 en Windows XP.

Git-diff a HTML

Estoy buscando una manera de producir archivos HTML a partir de una salida de git–diff, preferiblemente usando python. He estado buscando en http://docs.python.org/library/difflib.html sin poder averiguar cómo usar la salida de git-diff como entrada. ¿Cualquier pista? Muchas gracias

¿Cómo se almacenan y calculan los historiales de control de versiones?

Considere este código de Python simple, que demuestra un diseño de control de versión muy simple para un diccionario: def build_current(history): current = {} for action, key, value in history: assert action in (‘set’, ‘del’) if action == ‘set’: current[key] = value elif action == ‘del’: del current[key] return current history = [] history.append((‘set’, ‘1’, […]

Problemas para instalar el repository github privado usando pip

Para ver el prefacio, ya he visto esta pregunta ¿Es posible usar pip para instalar un paquete desde un repository privado de github? Estoy intentando instalar un paquete desde un repository privado al que tengo acceso para usar pip. Soy capaz de clonarlo directamente así: (myenv)robbie@ubuntu:~/git$ git clone git@github.com:matherbk/django-messages.git Cloning into ‘django-messages’… remote: Counting objects: […]

¿Es posible que todos los comandos de “git diff” usen el “Python diff” en todos los proyectos de git?

Cuando se incluye la linea *.py diff=python en un archivo .gitattributes local, git diff produce tags agradables para los diferentes tipos de archivos de Python (con el nombre de la función donde están los cambios, etc.). ¿Es posible pedirle a git que use este modo de diferencias para todos los archivos de Python en todos […]

Depende del repository git en setup.py

Estoy tratando de hacer que un proyecto dependa de una dependencia de git. Sin embargo, parece que no puedo hacerlo funcionar. Lo que básicamente quiero lograr es lo siguiente, pero no funciona: #!/usr/bin/env python3 from setuptools import setup setup( name=’spam’, version=’0.0.0′, install_requires=[ ‘git+https://github.com/remcohaszing/pywakeonlan.git’ ]) Intenté varias variaciones sobre lo anterior, como agregar @master o #egg=wakeonlan-0.2.2 […]

¿Cómo envío archivos nuevos a GitHub?

Creé un nuevo repository en github.com y luego lo cloné en mi máquina local con git clone https://github.com/usrname/mathematics.git Agregué 3 nuevos archivos en la carpeta mathematics $ tree . ├── LICENSE ├── numerical_analysis │ └── regression_analysis │ ├── simple_regression_analysis.md │ ├── simple_regression_analysis.png │ └── simple_regression_analysis.py Ahora, me gustaría cargar 3 archivos nuevos a mi GitHub […]

GitPython y SSH Keys?

¿Cómo puedo usar GitPython junto con claves SSH específicas? La documentación no es muy completa sobre ese tema. Lo único que he intentado hasta ahora es Repo(path) .