Controles de Integracion Git NUEVO
HarbourBuilder incluye integracion completa con Git — 10 componentes y soporte integral del IDE para control de versiones. Sin herramientas externas necesarias; gestiona tus repositorios directamente desde el IDE.
Control de Versiones Integrado
HarbourBuilder envuelve la CLI de git mediante CreateProcess con captura de stdout,
proporcionando una experiencia de Control de Fuente estilo VS Code dentro del IDE.
Componentes Git
| Componente | ID CT | Descripcion |
|---|---|---|
TGitRepo | 121 | Inicializacion de repositorio, clonacion y estado |
TGitCommit | 122 | Confirmar cambios con mensajes y seleccion de archivos |
TGitBranch | 123 | Creacion de ramas, cambio y listado |
TGitLog | 124 | Ver historial de confirmaciones con autor, fecha y mensaje |
TGitDiff | 125 | Ver diferencias y cambios entre archivos |
TGitRemote | 126 | Gestionar repositorios remotos (agregar, eliminar, listar) |
TGitStash | 127 | Guardar y recuperar cambios del directorio de trabajo |
TGitTag | 128 | Crear, listar y eliminar etiquetas |
TGitBlame | 129 | Informacion de autor linea por linea (anotar) |
TGitMerge | 130 | Fusionar ramas y resolver conflictos |
Integracion Git del IDE
Panel de Control de Fuente
Accede mediante el elemento de menu Git > Estado. El panel muestra:
- Etiqueta de rama — Nombre de la rama actual
- ListView de cambios — Cambios preparados y no preparados
- Editor de mensaje de confirmacion — Entrada de texto multi-linea
- Botones de accion — Actualizar, Confirmar, Enviar, Extraer, Guardar
Menu Git (17 Elementos)
| Elemento de Menu | Accion |
|---|---|
| Init | Inicializar un nuevo repositorio Git |
| Clone | Clonar un repositorio remoto existente |
| Estado | Abrir panel de Control de Fuente |
| Commit | Confirmar cambios preparados |
| Push | Enviar confirmaciones al remoto |
| Pull | Extraer actualizaciones del remoto |
| Rama > Crear | Crear una nueva rama |
| Rama > Cambiar | Cambiar a otra rama (con dialogo de lista) |
| Rama > Fusionar | Fusionar una rama en la actual |
| Stash > Guardar | Guardar cambios del directorio de trabajo |
| Stash > Recuperar | Restaurar cambios guardados |
| Log | Ver historial de confirmaciones |
| Diff | Ver diferencias entre archivos |
| Blame | Ver autoria linea por linea |
Funciones del Backend
11 funciones del backend envuelven la CLI de git.exe mediante CreateProcess con captura de stdout:
| Funcion | Comando Git | Formato de Retorno |
|---|---|---|
GIT_Status() | git status --porcelain | { { cStatus, cFile }, ... } |
GIT_Log() | git log --format=... | { { cHash, cAuthor, cDate, cMsg }, ... } |
GIT_Diff() | git diff | Cadena diff unificada |
GIT_Blame() | git blame | { { nLine, cHash, cAuthor, cText }, ... } |
GIT_CurrentBranch() | git branch --show-current | Cadena nombre de rama |
GIT_BranchList() | git branch | { { cName, lCurrent }, ... } |
GIT_Exec() | Cualquier comando git | Cadena stdout capturada |
GIT_IsRepo() | git rev-parse | Logico (.T./.F.) |
Ejemplos de Codigo
Inicializar un Repositorio
local oRepo oRepo := TGitRepo:New() if ! GIT_IsRepo( "C:\MiProyecto" ) GIT_Exec( "git init C:\MiProyecto" ) MsgInfo( "Repositorio inicializado" ) endif
Ver Estado y Confirmar
local aEstado, cMsg aEstado := GIT_Status() for each aArchivo in aEstado ? aArchivo[1], aArchivo[2] // Codigo de estado y nombre de archivo next GIT_Exec( "git add ." ) GIT_Exec( "git commit -m "Confirmacion inicial"" )
Operaciones de Rama
local aRamas // Listar todas las ramas aRamas := GIT_BranchList() for each aRama in aRamas ? aRama[1], if( aRama[2], "* actual", "" ) next // Crear y cambiar a nueva rama GIT_Exec( "git checkout -b feature/nueva-funcionalidad" )
Ver Registro de Confirmaciones
local aLog aLog := GIT_Log( 20 ) // Ultimas 20 confirmaciones for each aConf in aLog ? aConf[1] // Hash ? aConf[2] // Autor ? aConf[3] // Fecha ? aConf[4] // Mensaje next
Flujos de Trabajo Git Comunes
Configuracion Inicial
// 1. Inicializar repositorio GIT_Exec( "git init" ) // 2. Agregar remoto GIT_Exec( "git remote add origin https://github.com/usuario/repo.git" ) // 3. Agregar todos los archivos GIT_Exec( "git add ." ) // 4. Confirmar GIT_Exec( "git commit -m "Confirmacion inicial"" ) // 5. Enviar al remoto GIT_Exec( "git push -u origin master" )
Flujo de Trabajo Diario
// 1. Extraer ultimos cambios GIT_Exec( "git pull" ) // 2. Hacer cambios en el IDE... // 3. Verificar estado aEstado := GIT_Status() // 4. Preparar y confirmar GIT_Exec( "git add ." ) GIT_Exec( "git commit -m "Agregar funcionalidad X"" ) // 5. Enviar al remoto GIT_Exec( "git push" )
Dependencia de la CLI de Git
La integracion Git de HarbourBuilder requiere que git este instalado y en el PATH de tu sistema.
Descarga desde git-scm.com.