Mantener mis archivos .org sincronizados en varias computadoras

35

¿Cómo puedo mantener mis archivos .org actualizados en varias computadoras, quizás en múltiples plataformas (linux / windows)?

Podría mantener todos los archivos .org en git, por ejemplo, pero eso requeriría que me acordara de tirar y presionar para mantener actualizado el repositorio. Podría funcionar con algunos scripts para manejar automáticamente los archivos, ya que no tengo tantos.

También podría intentar usar Dropbox para esto. Supongo que Dropbox sincroniza los archivos con la frecuencia suficiente para no causar problemas.

¿Org-mode ofrece alguna funcionalidad para ayudar a sincronizar los archivos en múltiples ubicaciones?

Comportamiento
fuente
1
¿Esto ayuda? Poniendo tu org ...
Lucas
Dropbox sincroniza archivos tan pronto como se escriben. Internamente, creo que Dropbox usa un script Python para monitorear el directorio.
Sean Allred
Si la seguridad / privacidad es un problema, SpiderOak también es bastante bueno.
Jon
orgmode.org/worg/org-contrib/gsoc2012/student-projects/… / orgmode.org/worg/org-contrib/gsoc2012/student-projects/… menciona un controlador de fusión git de archivos org, pero no puedo encontrar cualquier información sobre cómo usarlo (si se terminó)
destrabar el
Aquí hay un ejemplo de cómo sincronizar carpetas en diferentes máquinas usando rsyncEmacs: emacs.stackexchange.com/a/5844/2287
lawlist

Respuestas:

10

Utilizo el asistente git-annex para sincronizar mis archivos de organización en mis computadoras e incluso en mi teléfono (un jolla para que el binario de Linux funcione de fábrica, pero también hay una versión de Android).

Funciona como Dropbox, ya que cada vez que guarde un archivo, intentará sincronizarlo, pero es descentralizado y gratuito (como en la libertad de expresión y la cerveza gratis).

La configuración es sencilla si conoce git pero necesita algo de tiempo para familiarizarse con todas las opciones.

Puede encontrar más en http://git-annex.branchable.com

razcampagne
fuente
Corríjame si me equivoco, pero el asistente git-annex es una elección horrible. No busca cambios en los archivos de texto. También establece los archivos en 'solo lectura' cada vez que se sincronizan.
JasoonS
7

Los archivos de organización son solo archivos de texto sin formato, por lo que cualquier técnica que pueda sincronizar archivos de texto sin formato funcionará bien con los archivos de organización.

Mi herramienta de sincronización favorita es Unison . Con el archivo de configuración correcto, escribo

unison org

y Unison comparará archivos en mis ~/org/directorios en mis dos máquinas, me permitirá revisar interactivamente sus acciones, luego copiará los archivos que necesitan ser copiados e invocará una herramienta de fusión externa para los archivos que necesitan fusionarse.

jch
fuente
Detalles del archivo de configuración? Mis intentos de fusionarme en emacs siguen fallando
ijoseph
4

El modo Org no proporciona ninguna funcionalidad de sincronización en sí. Tendría que confiar en una aplicación separada como Dropbox para sincronizar sus archivos. Dropbox se sincroniza no solo con frecuencia, sino inmediatamente cuando los archivos cambian, por lo que, a menos que cambie un archivo y apague inmediatamente su computadora, mantendrá sus archivos sincronizados.

Ryan
fuente
4

Personalmente, tengo este problema y he estado usando copy en lugar de Dropbox para sincronizar mis archivos. (No uso Dropbox debido a problemas de privacidad). Al igual que Dropbox, Copy ofrece clientes para todas las plataformas principales.

A veces olvido guardar mis búferes de organización, por lo que he pirateado las siguientes funciones para guardar todos los archivos de organización cada vez que guardo algún archivo. No es una gran solución, pero sirve para mi propósito.

(add-hook 'after-save-hook 'org-save-all-org-buffers)

Además, si tiene datos confidenciales en sus archivos de organización, le recomiendo que eche un vistazo a esta página . Yo uso org-crypt que es asombroso.

Renan Ranelli
fuente
2

Yo uso Git para sincronizar mis archivos de modo org. Tengo una secuencia de comandos Bash que dejo ejecutándose en segundo plano, que confirma automáticamente el archivo cada minuto (de forma predeterminada) y luego empuja o tira según sea necesario.

La versión del pseudocódigo:

  1. Confirmar cambios locales y actualizar controles remotos.
  2. Encuentra compromiso local con git rev-parse @.
  3. Encuentra confirmación remota con git rev-parse @{u}.
  4. Encuentra base con git merge-base @ @{u}
  5. Si el compromiso local es igual al compromiso remoto, entonces hemos terminado; Todo está al día.
  6. Si el compromiso local es igual a la base, entonces el control remoto tiene compromisos adicionales, entonces hazlo git pull.
  7. Si la confirmación remota es igual a la base, entonces la opción local tiene confirmaciones adicionales, entonces hazlo git push.
  8. De lo contrario, tanto local como remoto tiene confirmaciones adicionales. Mi script intenta resolver esto automáticamente (con git pull), pero si no puede, enviará una campana y saldrá para que el usuario lo repare manualmente.

Esos 8 pasos se ejecutan en un bucle, sin detenerse hasta que salgo manualmente con C-c, o hay un error.

Yo uso este script en Windows usando Cygwin .

Scott Weldon
fuente
2

Utilizo Dropbox para sincronizar mis .orgarchivos principales en lugar de hacerlo rsync, gito algo similar porque con Dropbox también puedes usar MobileOrg para ver tus .orgarchivos desde tu teléfono inteligente.

Para mí esto es muy fácil y hace un trabajo increíble.

Rafa de Castro
fuente
2

Como otros han dicho, el modo Org no hace nada al respecto (ni debería hacerlo). Básicamente, se trata de encontrar su solución de sincronización de archivos preferida.

Yo uso Dropbox. Funciona sin esfuerzo en mis tres plataformas (macOS, escritorio Linux, Android). Además, el cliente Org móvil que uso, Orgzly , lo admite de forma inmediata .

Paul Bissex
fuente
1

Actualmente estoy usando btsync, pero hay varias alternativas abiertas (y más engorrosas). Básicamente, observa el directorio y lo sincroniza con todos los demás dispositivos en ejecución tan pronto como se conectan. Un dropbox sin la nube, por así decirlo. Dado que utiliza tablas hash distribuidas y los cortafuegos del protocolo de torrents tampoco son un problema, y ​​también hay clientes móviles. Y transfiere todo encriptado.

Daniel Ziltener
fuente
0

Dropbox (o cualquier otro almacenamiento en la nube, supongo) es el camino a seguir. Además, esto es realmente útil para sincronizar la configuración de Emacs en ~/.emacs.d(uso mklinken Windows).

Alain
fuente