Go to file
2025-05-24 15:06:13 -03:00
.dev Update Sale Don Confiao 2025-02-14 22:55:17 -05:00
agents Ajuste en las herramientas 2025-04-03 16:28:25 -05:00
modules Se realizan los ajustes para la actualizacion del repo DonConfia_Dev 2025-03-24 21:01:45 -05:00
production first commit 2024-12-28 19:51:40 -05:00
utils Add, database copy and utils 2025-04-01 15:04:41 -05:00
.env.example feat: add agents 2025-03-24 20:28:53 -05:00
.flake8 first commit 2024-12-28 19:51:40 -05:00
.gitignore feat: add agents/app 2025-03-24 20:33:04 -05:00
.gitmodules Fix: Add submodule sale_order 2025-02-11 11:21:45 -05:00
.woodpecker.yml first commit 2024-12-28 19:51:40 -05:00
compose.deploy.yml first commit 2024-12-28 19:51:40 -05:00
compose.test.yml feat: add agents 2025-03-24 20:28:53 -05:00
compose.yml feat: add agents 2025-03-24 20:28:53 -05:00
delete_db_speco.sh Se realizan los ajustes para la actualizacion del repo DonConfia_Dev 2025-03-24 21:01:45 -05:00
Dockerfile Feat: Se agrega PUDB 2024-12-29 17:13:15 -05:00
Dockerfile_Deploy first commit 2024-12-28 19:51:40 -05:00
Dockerfile_Test first commit 2024-12-28 19:51:40 -05:00
don_confiao_tryton.dump Se realizan los ajustes para la actualizacion del repo DonConfia_Dev 2025-03-24 21:01:45 -05:00
Rakefile feat: Add rake task 2025-05-24 15:06:13 -03:00
README.md first commit 2024-12-28 19:51:40 -05:00
respaldo.sh Se realizan los ajustes para la actualizacion del repo DonConfia_Dev 2025-03-24 21:01:45 -05:00

Creación de Submódulos Utilizando GIT

Incorporando un Repositorio Git Existente como Submódulo en el Repositorio Activo

  1. Para agregar un nuevo submódulo, utiliza el comando git submodule add, especificando la URL absoluta o relativa del proyecto a rastrear. En este ejemplo, dentro del repositorio oc-monorepo, se incluye la rama 6.8 de la siguiente manera:
git submodule add -b 6.8 [ssh://modelo] modules/[nombre_modleo]

La salida esperada es similar a:

Cloning into 'DbConnector'...
remote: Counting objects: 11, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 11 (delta 0), reused 11 (delta 0)
Unpacking objects: 100% (11/11), done.
Checking connectivity... done.

Por defecto, los submódulos se agregan a un directorio con el mismo nombre que el repositorio, por ejemplo, "DbConnector". Puedes especificar una ruta diferente al final del comando si deseas ubicarlo en otro lugar.

Nota: Es crucial elegir cuidadosamente la ruta de los submódulos.

Al ejecutar git status en este punto, notarás algunas adiciones:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

new file:   .gitmodules
new file:   DbConnector

El nuevo archivo .gitmodules es una configuración que almacena la relación entre la URL del proyecto y el subdirectorio local. Por ejemplo:

[submodule "DbConnector"]
path = DbConnector
url = https://github.com/chaconinc/DbConnector

Asegúrate de que la URL sea accesible para otros al clonar el proyecto.

Clonación de un Proyecto con Submódulos

Al clonar un proyecto con submódulos, por defecto se obtienen los directorios que contienen submódulos, pero no se descargan los archivos dentro de ellos. Ejecuta:

git clone --recurse-submodules https://github.com/chaconinc/MainProject

Esto inicializará y actualizará automáticamente cada submódulo en el repositorio.

Si olvidaste usar --recurse-submodules al clonar, puedes combinar los pasos git submodule init y git submodule update ejecutando git submodule update --init. Para inicializar, obtener y cambiar también cualquier submódulo anidado, utiliza git submodule update --init --recursive.

Trabajando en un Proyecto con Submódulos

Ahora que tenemos una copia del proyecto con submódulos, colaboraremos tanto en el proyecto principal como en el submódulo.

Incorporando Cambios Ascendentes desde el Control Remoto del Submódulo

Para verificar nuevos cambios en un submódulo, ve al directorio y ejecuta git fetch y git merge [la rama ascendente]. Por ejemplo:

$ git fetch
From https://github.com/chaconinc/DbConnector
c3f01dc..d0354fc  master     -> origin/master
$ git merge origin/master
Updating c3f01dc..d0354fc
Fast-forward
scripts/connect.sh | 1 +
src/db.c           | 1 +
2 files changed, 2 insertions(+)

Al ejecutar git diff, puedes ver los cambios y confirmarlos si es necesario. Configura diff.submodule como "log" para mostrar cambios de submódulos automáticamente.

git config --global diff.submodule log
git diff

Una forma más sencilla es ejecutar git submodule update --remote para actualizar automáticamente los submódulos.

git submodule update --remote

Incorporando Cambios Ascendentes desde el Control Remoto del Proyecto Principal

Después de un git pull, ejecuta git submodule update --init --recursive para actualizar los submódulos.

git pull
git submodule update --init --recursive

Trabajando con un Submódulo

Al ejecutar git submodule update, los archivos del submódulo se actualizan, pero el repositorio queda en un estado de "HEAD separado". Para facilitar el acceso y las modificaciones:

Configuración Inicial

  1. Accede al Submódulo:
cd NombreDelSubmodulo/
  1. Selecciona una Rama:
git checkout stable

Actualización del Submódulo

  1. Recupera Cambios Remotos:
cd ..
git submodule update --remote --merge

Ahora, cualquier cambio local en el submódulo y los cambios remotos se fusionarán automáticamente en tu rama local.

  1. Para realizar tus cambios, vuelve al directorio del submódulo y haz tus modificaciones. Después, realiza un commit.

  2. Publica los cambios del submódulo:

git submodule update --remote NombreDelSubmodulo

Esto actualiza y fusiona automáticamente los cambios del submódulo en tu rama local.