2010-05-03 725 views
9

Escuché que muchos usuarios de Emacs tienen su archivo init (.emacs o init.el) bajo el control de versión de git y sincronizan el repositorio de git sobre Dropbox, cuando ejecutan Emacs en múltiples sistemas. ¿Por qué usarías git en esta situación exactamente?¿Por qué usaría Dropbox pero también Git para su archivo de inicialización de Emacs?

Por lo general, verificando en qué sistema estás y qué cosas cargar y configurar, dependiendo de eso, puede suceder en el mismo archivo init para todos los sistemas. ¿Por qué exactamente quieres guardar un historial de versiones de tu archivo init? ¿Es tan importante que justifique un repositorio de git para él?

Entonces, ¿no es suficiente simplemente poner su archivo init en un directorio de Dropbox y cargarlo directamente desde Emacs directamente en lugar de extraer la última versión de su repositorio git sincronizado en Dropbox?

+2

Eso parece bastante redundante, teniendo en cuenta que Dropbox tiene soporte de versiones básico incorporado. – Amber

+0

Donal Fellows: y en el título fue a propósito para enfatizarlo, pero lo cambiaré a * y * entonces. –

+0

@Michiel: Realmente no hay necesidad; no atraerá más globos oculares de ninguna manera. –

Respuesta

7

Git le ofrece control de versiones, Dropbox le ofrece alojamiento privado gratuito.

Hasta hace poco, este era el único método gratuito para alojar un repositorio privado de Git que yo sepa. Gitorious, repo.or.cz y Co. no tienen repositorios privados y GitHub, ShareSource y amigos cobran dinero por repositorios privados. Assembla es el único proveedor de servicios de hospedaje que conozco que ofrece alojamiento privado de repo privado, pero esa oferta solo comenzó hace tres semanas.

Los archivos de configuración personal pueden contener datos confidenciales, por lo que tiene sentido alojarlos de forma privada, pero quizás no tenga sentido pagar GitHub 7 $/mes solo por un solo archivo .emacs.

+0

La verdadera pregunta es, ¿por qué querría tener el control de versión para mi archivo .emacs? –

+4

Ola Bini explica esto aquí: http://olabini.com/blog/2008/05/how-large-is-your-emacs/ – Andreas

1

Una vez que los desarrolladores encuentran un sistema de control de versiones que les gusta, hay una tendencia a usarlo para todos los archivos importantes. - Asegúrate de que los archivos siempre estarán respaldados, administrados, mantendrán un historial (incluido el registro de comentarios, las razones de los cambios, etc.)

Git ha atraído a muchos usuarios, no estoy sorprendido para saber de personas que lo usan para rastrear archivos de inicio.

+0

De hecho. http://github.com/technomancy/emacs-starter-kit/network –

2

Utilizo Dropbox no solo para los archivos de configuración de Emacs sino también para todos los demás paquetes externos (más nuevo org-mode, SLIME, etc.) y archivos .el individuales, para que los instale y configure (ruta de carga, archivos de información, compilación de bytes, etc.) solo una vez para todos los sistemas, y usan Git para administrar los archivos de configuración (configuración general, sistema o personalización específica del sistema operativo).

Después de eso, todo es cuesta abajo, ya que pongo toneladas de material de referencia en mi Dropbox (documentos API, material de protocolo, hojas de trucos, etc.) así como material de desarrollo (archivos jar de Java, fuentes, etc.) que tengo el mismo entorno de desarrollo en todos mis sistemas con los comandos de Emacs para acceder a todas las cosas.

+0

El uso de Dropbox no es la pregunta. La pregunta es, ¿por qué también usar un sistema de control de versiones, en este caso, git, además de eso? –

+1

¿Porque la configuración y la personalización de Emacs son código y pueden ser bastante complejas y frágiles cuando se trata de máquinas múltiples con sistemas operativos diferentes? – gko

2

Siempre que piense en sus archivos de configuración como código, querrá usar un VCS adecuado. Dropbox le da cierto valor, pero no está en la misma liga que git.

En resumen, cuando trabaje con código, desea algo más que retroceder a las versiones anteriores del documento. Desea una forma rápida y efectiva de observar las diferencias entre versiones. Desea saber qué cambió, por qué cambió, cuándo, etc. Desea crear ramas experimentales donde pruebe algo nuevo sin saturar algo que sabe que funciona. Desea llevar algunos de los cambios del experimento a su rama estable; pero tal vez no todo.

Otro problema es que, en el futuro, es posible que desee mover sus archivos, incluido todo el historial, de Dropbox por alguna razón u otra. Si usas git, esto es trivial.

1

Dropbox le da un poco de soporte de historial, pero no es tan extenso y controlable como Git. Si un desarrollador conoce a Git, tiene sentido que guarden sus archivos de configuración para cosas como Emacs en Git. Tienes versiones completas, nunca pierdes una versión anterior, comprometes cambios con mensajes significativos en momentos útiles, etc.

Ahora, ¿por qué hacerlo en Dropbox, cuando Git te permite empujar/tirar entre repositorios? Sencillez. Si sus archivos están en Dropbox, están transparentes y automáticamente en todas sus computadoras conectadas a Dropbox. Entonces, no tiene que preocuparse por "¿He retirado los cambios? ¿Dónde están los cambios más recientes?" etc. Como otros han mencionado, tampoco es necesario tener un repositorio privado de Git en algún lugar, en su propio servidor o en un servicio de pago.

Hacer ambas cosas también le da la ventaja de poder clonar fácilmente su configuración en computadoras que no son compatibles con Dropbox fácilmente (por ejemplo, servidores remotos). Dropbox para sincronizar con su computadora portátil/computadora de escritorio/estación de trabajo, git en los servidores, y usted tiene la misma configuración en todas partes con una molestia mínima. Y control de versiones significativo.

Cuestiones relacionadas