Cómo hacer algo como git pull
en la biblioteca python dulwich.¿Cómo tirar del control remoto usando dulwich?
5
A
Respuesta
5
no he utilizado dulwich, pero a partir de these doc's, posiblemente algo como:
from dulwich.repo import Repo
from dulwich.client import HttpGitClient
local = Repo.init("local", mkdir=True)
client = HttpGitClient('http://github.com/adammorris/')
remote_refs = client.fetch("history.js.git",local)
local["HEAD"] = remote_refs["refs/heads/master"]
En este punto, no cargar los archivos, pero yo podía hacer "git checkout" de la ruta local y actualizó los archivos.
también para mirar a estos:
1
Ejemplo completo. Funciona con Bitbucket
.
from dulwich import index
from dulwich.client import HttpGitClient
from dulwich.repo import Repo
local_repo = Repo.init(LOCAL_FOLDER, mkdir=True)
remote_repo = HttpGitClient(REMOTE_URL, username=USERNAME, password=PASSWORD)
remote_refs = remote_repo.fetch(REMOTE_URL, local_repo)
local_repo[b"HEAD"] = remote_refs[b"refs/heads/master"]
index_file = local_repo.index_path()
tree = local_repo[b"HEAD"].tree
index.build_index_from_tree(local_repo.path, index_file, local_repo.object_store, tree)
Reemplace LOCAL_FOLDER, REMOTE_URL, NOMBRE DE USUARIO, CONTRASEÑA con sus datos.
Cuestiones relacionadas
- 1. Cómo agregar control remoto con Git Gui?
- 2. ¿Cómo rastrear más de un control remoto con una rama determinada usando Git?
- 3. Para tirar o no tirar
- 4. VLC control remoto desde C#
- 5. Git fetch/checkout sin crear control remoto?
- 6. Agregar control remoto a través de JGit
- 7. API de control remoto para Spotify?
- 8. código de control remoto de Android cargando
- 9. git-ignorando archivos basados en control remoto?
- 10. Control del teclado Luces LED usando c
- 11. Empujar y tirar ramas en Git
- 12. Reciba eventos de control remoto sin audio
- 13. ¿Cómo engancho un git pull en el control remoto?
- 14. ¿Cómo verifico si existe un archivo en un control remoto?
- 15. ¿Cómo acepto todos los cambios desde un control remoto?
- 16. recuperar ID del control del servidor usando jQuery
- 17. ¿Cómo recibir datos del control remoto de Wii en Objective-C?
- 18. REMOTO Depurando PHP usando Eclipse
- 19. ¿Cómo eliminar archivos del repositorio remoto de git bare?
- 20. ¿Cómo obtener svn URL del repositorio remoto?
- 21. ¿Recuperar archivos perdidos del repositorio remoto?
- 22. Git buscar y tirar sin argumentos
- 23. ¿Cómo puedo tirar de artefactos de TeamCity?
- 24. cómo crear control personalizado usando jquery ui?
- 25. Git lista de nombres de ramas de control remoto específico
- 26. Cómo mostrar el contenido del directorio del FTP remoto, recursivamente
- 27. Python buscar en un archivo remoto usando HTTP
- 28. Restablecer el control remoto a una determinada confirmación
- 29. Github: Empujar para tirar solicitudes
- 30. SpinLock tirar SynchronizationLockException
Sí, la función de búsqueda insertará un archivo de paquete en el directorio '.git'. Y simplemente no sé cómo fusionarlo en la rama principal. – Determinant
Parece que fetch() debería importar el paquete en la misma rama que el repositorio. ¿Es posible usar do_commit() para fusionarlo en la rama principal? http://stackoverflow.com/questions/6904734/in-dulwich-how-do-i-commit-to-a-branch-instead-of-to-head –
Me temo que no ... – Determinant