Mantenere i miei file .org sincronizzati su più computer


35

Come posso mantenere aggiornati i miei file .org su più computer, magari su più piattaforme (linux / windows)?

Potrei tenere tutti i file .org in git per esempio, ma ciò mi richiederebbe di ricordare di tirare e spingere per mantenere aggiornato il repository. Potrebbe funzionare con alcuni script per gestire automaticamente i file, dato che non ne ho molti.

Potrei provare a usare Dropbox anche per questo. Suppongo che Dropbox sincronizzi i file abbastanza spesso da non causare problemi.

La modalità org offre qualche funzionalità che aiuta a sincronizzare i file su più posizioni?


1
questo aiuta? Mettere la tua org ...
Luca,

Dropbox sincronizza i file non appena vengono scritti. Internamente, credo che Dropbox usi uno script Python per monitorare la directory.
Sean Allred,

Se la sicurezza / privacy è un problema, SpiderOak è anche abbastanza grande.
Jon

orgmode.org/worg/org-contrib/gsoc2012/student-projects/… / orgmode.org/worg/org-contrib/gsoc2012/student-projects/… menziona un driver git merge org-file, ma non riesco a trovare tutte le informazioni su come usarlo (se fosse finito)
unhammer

Ecco un esempio di come sincronizzare le cartelle su macchine diverse utilizzando rsyncEmacs: emacs.stackexchange.com/a/5844/2287
elenco delle leggi

Risposte:


10

Uso git-annex Assistant per sincronizzare i miei file org sui miei computer e persino sul mio telefono (un jolla in modo che il binario linux funzioni fuori dagli schemi ma esiste anche una versione Android).

Funziona come dropbox in quanto ogni volta che salvi un file proverà a sincronizzarlo ma è decentralizzato e gratuito (come nella libertà di parola e birra gratis).

La configurazione è semplice se conosci git ma hai bisogno di un po 'di tempo per familiarizzare con tutte le opzioni.

Puoi trovare di più su http://git-annex.branchable.com


Per favore, correggimi se sbaglio, ma l'assistente git-annex è una scelta orribile. Non controlla le modifiche all'interno dei file di testo. Inoltre, imposta i file su "sola lettura" ogni volta che si sincronizzano.
JasoonS,

7

I file organizzativi sono solo file di testo semplice, quindi qualsiasi tecnica in grado di sincronizzare i file di testo normale funzionerà perfettamente con i file organizzativi.

Il mio strumento di sincronizzazione preferito è Unison . Con il giusto file di configurazione, scrivo

unison org

e Unison confronterà i file nelle mie ~/org/directory su entrambi i miei computer, mi consentirà di rivedere interattivamente le sue azioni, quindi copiare i file che devono essere copiati e invocare uno strumento di unione esterno per i file che devono essere uniti.


Dettagli del file di configurazione? I miei tentativi di fusione in emacs continuano a fallire
ijoseph il

4

La modalità Org non fornisce alcuna funzionalità di sincronizzazione stessa. Dovresti fare affidamento su un'applicazione separata come Dropbox per sincronizzare i tuoi file. Dropbox si sincronizza non solo spesso, ma immediatamente quando i file cambiano, quindi a meno che non si modifichi un file e si spenga immediatamente il computer, i file verranno sincronizzati.


4

Personalmente ho questo problema e ho usato copia invece di Dropbox per sincronizzare i miei file. (Non utilizzo Dropbox per problemi di privacy). Proprio come Dropbox, Copy offre client per tutte le principali piattaforme.

A volte dimentico di salvare i miei buffer dell'organizzazione, quindi ho violato le seguenti funzioni per salvare tutti i file dell'organizzazione ogni volta che salvo un file. Non è un'ottima soluzione, ma serve al mio scopo.

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

Inoltre, se conservi dati sensibili nei file dell'organizzazione, ti consiglio di dare un'occhiata a questa pagina . Uso org-crypt che è incredibile.


2

Uso Git per sincronizzare i miei file in modalità org. Ho uno script Bash che lascio in esecuzione in background, che esegue automaticamente il commit del file ogni minuto (per impostazione predefinita), quindi invia o estrae in base alle esigenze.

La versione pseudo-codice:

  1. Apporta modifiche locali e aggiorna i telecomandi.
  2. Trova commit locale con git rev-parse @.
  3. Trova commit remoto con git rev-parse @{u}.
  4. Trova base con git merge-base @ @{u}
  5. Se il commit locale equivale al commit remoto, allora abbiamo finito; tutto è aggiornato.
  6. Se il commit locale è uguale a base, allora il remote ha commit extra, così come fanno git pull.
  7. Se il commit remoto è uguale a base, allora il commit locale ha commit extra, così come fanno git push.
  8. Altrimenti, sia il locale che il remoto hanno impegni extra. Il mio script tenta di risolverlo automaticamente (con git pull), ma se non ci riesce, invierà un campanello e uscirà per essere riparato manualmente dall'utente.

Questi 8 passaggi vengono eseguiti in sequenza, senza interruzione fino a quando non esco manualmente con C-co non si verifica un errore.

Uso questo script su Windows usando Cygwin .


2

Uso Dropbox per sincronizzare i miei .orgfile principali anziché rsync, gito simili perché usando Dropbox puoi anche usare MobileOrg per vedere i tuoi .orgfile dal tuo smartphone.

Per me questo è molto semplice e fa un ottimo lavoro.


2

Come altri hanno già detto, la modalità Org non fa nulla al riguardo (né dovrebbe). Quindi si tratta sostanzialmente di trovare la soluzione di sincronizzazione dei file preferita.

Uso Dropbox. Funziona senza sforzo sulle mie tre piattaforme (macOS, desktop Linux, Android). Inoltre, il client Org mobile che utilizzo, Orgzly , lo supporta immediatamente .


1

Attualmente sto usando btsync, ma ci sono diverse alternative aperte (e più ingombranti) in giro. Fondamentalmente controlla la directory e la sincronizza con tutti gli altri dispositivi in ​​esecuzione non appena entrano in linea. Un dropbox senza il cloud per così dire. Poiché utilizza tabelle hash distribuite e anche i firewall del protocollo torrent non sono un problema, e ci sono anche client mobili. E trasferisce tutto crittografato.


0

Dropbox (o qualsiasi altro archivio cloud immagino) è la strada da percorrere. Inoltre, è molto utile sincronizzare l'installazione di Emacs ~/.emacs.d(utilizzare mklinksu Windows).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.