montar un buen entorno de desarrollo local

Estoy tratando de montar un buen entorno local en mi Ubuntu. He seguido las instrucciones de:
https://suitecrm.com/wiki/index.php/Contributing_to_SuiteCRM

y una vez con el repo en mi local he procedido a crear la BBDD e instalar con las instrucciones de:
https://suitecrm.com/wiki/index.php/Installation

MI problema es que una vez instalado tengo montones de ficheros de cambios porque supongo que el .gitignore que se baja con el repo no está pensado para esto…

Hay montones de directorios que nunca tengo claro si son cosas que se generan al vuelo o si es código que realmente hay que hacerle seguimiento.

¿Cómo trabajáis vosotros?

Buenos días

sí es posible trabajar con SuiteCRM y git como pretendes, y el .gitignore esta ya preparado para eso.

Yo he tenido un problema que se relacionaba con cambios de permisiones, no de contenido de los ficheros.

Lo he solucionado con

git config core.filemode false

Será este tu problema también?

Lo cambiar el core.filemode ya lo había hecho y ciertamente soluciona bastante… pero en cuanto hago la instalación si luego hago el git status ya me da todos estos directorios:
color=#0000ff isaac.marco@portatil200:~/git/SuiteCRM$ git status
HEAD detached at v7.8.5
Cambios no preparados para el commit:
(use «git add …» para actualizar lo que se confirmará)
(use «git checkout – …» para descartar cambios en el directorio de trabajo)

modificado: config_override.php

Archivos sin seguimiento:
(use «git add …» para incluir en lo que se ha de confirmar)

custom/Extension/modules/
custom/include/
custom/modules/Accounts/
custom/modules/Calls/
custom/modules/Cases/
custom/modules/Contacts/
custom/modules/Emails/
custom/modules/Home/
custom/modules/Leads/
custom/modules/Meetings/
custom/modules/Opportunities/
custom/modules/Project/
custom/modules/ProjectTask/
custom/modules/Projects/
custom/modules/Prospects/
custom/modules/Users/
custom/modules/logic_hooks.php

no hay cambios agregados al commit (use «git add» o «git commit -a»)[/color]

Por un lado ha modificado el config.override y me avisa para añadir montones de directorios en custom…
¿No deberían estar estos últimos en el .gitignore?

El .gitignore ya refiere los archivos generados automáticamente por SuiteCRM en Quick Repair and Rebuild, costumizaciones, etc.

Pero es verdad que la instalación genera un montón de cosas y si quieres incluirlas en tu git tienes que subirlas a tu repo. SuiteCRM es muy distinto antes y después de ejecutar la instalación.

–> Hace tus backups porque esto puede destruir tu servidor, yo no seré responsable :slight_smile:

Para añadir todos los ficheros cambiados:

git add .
git add -u
git commit -m “ficheros de la instalacion”
git push origin master

esto supone que que tienes tu fork en una repo cuyo nombre de remote es “origin”. Puedes elegir un branch diferente de “master” si prefieres mantener “master” en sincronía con el “master” de SalesAgility.

Pues no se… si resulta que para tener una rama limpia sin ficheros customizados lo que tengo que hacer es llevarlo a un branch de instalación como sugieres…

Cómo preparo un parche del que quiero hacer una pull request y que debería ir limpio de toda customización local de mi máquina…

Si resulta que me llevo los cambios de despues de la instalación y luego de la versión para la que quiero preparar el pull request me hago otro branch para el fix concreto… resulta que mis pruebas y testeos se hacen sin ciertos ficheros que la instalación ha creado y que entiendo que para algo servirán.

Es raro… por eso os preguntaba.

Todo lo que se ha añadido despues de la instalación tiene esta pinta:

diff --git a/custom/Extension/modules/Accounts/Ext/Vardefs/sugarfield_jjwg_maps_address_c.php b/custom/Extension/modules/Accounts/Ext/Vardefs/suga
new file mode 100644
index 0000000..dab6522
--- /dev/null
+++ b/custom/Extension/modules/Accounts/Ext/Vardefs/sugarfield_jjwg_maps_address_c.php
@@ -0,0 +1,5 @@
+<?php
+ // created: 2017-06-26 17:21:48
+$dictionary['Account']['fields']['jjwg_maps_address_c']['inline_edit']=1;
+
+ ?>

Yo creo que más bien hay cosas que están faltando en el .gitignore que viene de fábrica… al menos el que viene para la v7.8.5 ¿no?

Sí, esto puede ser complicado… y yo tampoco soy especialista en git.

Hay vantajas y desvantajas en tener el SuiteCRM instalado / todavía-no-instalado en git.

Y no es sencillo hacer un “deployment” completo de SuiteCRM a partir de git, porque tienes la base de datos no incluida en este directorio, y tienes cambios en la estructura misma de la base de datos…

http://blog.indrek.io/articles/version-control-and-deployment-practices-for-sugarcrm/