Mantendo meus arquivos .org sincronizados em vários computadores

35

Como posso manter meus arquivos .org atualizados em vários computadores, talvez em várias plataformas (linux / windows)?

Eu poderia manter todos os arquivos .org no git, por exemplo, mas isso exigiria que eu me lembrasse de puxar e empurrar para manter o repositório atualizado. Poderia trabalhar com alguns scripts para manipular automaticamente os arquivos, pois não tenho muitos.

Eu poderia tentar usar o dropbox para isso também. Suponho que o dropbox sincronize os arquivos com frequência suficiente para não causar problemas.

O modo org oferece alguma funcionalidade para ajudar na sincronização dos arquivos em vários locais?

Zavior
fonte
11
Isso ajuda? Colocando sua organização ...
Luke
O Dropbox sincroniza os arquivos assim que são gravados. Internamente, acredito que o Dropbox use um script Python para monitorar o diretório.
Sean Allred
Se a segurança / privacidade é um problema, o SpiderOak também é ótimo.
jon
orgmode.org/worg/org-contrib/gsoc2012/student-projects/… / orgmode.org/worg/org-contrib/gsoc2012/student-projects/… menciona um driver de mesclagem git de arquivo org, mas não consigo encontrar qualquer informação sobre como usá-lo (se ele foi concluído)
unhammer
Aqui está um exemplo de como sincronizar pastas em diferentes máquinas usando rsyncatravés Emacs: emacs.stackexchange.com/a/5844/2287
lawlist

Respostas:

10

Eu uso o git-annex assistant para sincronizar meus arquivos org nos computadores e até no telefone (um jolla para que o binário do linux funcione imediatamente, mas também há uma versão para Android).

Funciona como o dropbox, pois sempre que você salva um arquivo, ele tenta sincronizá-lo, mas é descentralizado e gratuito (como na linguagem livre e na cerveja grátis).

A configuração é simples se você conhece o git, mas precisa de algum tempo para se familiarizar com todas as opções.

Você pode encontrar mais em http://git-annex.branchable.com

razcampagne
fonte
Por favor, corrija-me se estiver errado, mas o assistente do git-anexo é uma escolha horrível. Não verifica se há alterações nos arquivos de texto. Ele também define os arquivos como 'somente leitura' toda vez que eles são sincronizados.
JasoonS
7

Os arquivos organizacionais são apenas arquivos de texto simples, portanto, qualquer técnica capaz de sincronizar arquivos de texto simples funcionará bem com os arquivos organizacionais.

Minha ferramenta de sincronização favorita é o Unison . Com o arquivo de configuração correto, digito

unison org

e o Unison comparará os arquivos nos meus ~/org/diretórios nas duas máquinas, deixe-me revisar interativamente suas ações, copiar os arquivos que precisam ser copiados e chamar uma ferramenta de mesclagem externa para os arquivos que precisam ser mesclados.

jch
fonte
Detalhes do arquivo de configuração? Minhas tentativas de fundir no emacs continuam falhando
ijoseph
4

O modo organizacional não fornece nenhuma funcionalidade de sincronização. Você precisaria confiar em um aplicativo separado, como o Dropbox, para sincronizar seus arquivos. O Dropbox é sincronizado não apenas com frequência, mas imediatamente quando os arquivos são alterados; portanto, a menos que você altere um arquivo e desligue imediatamente o computador, você manterá seus arquivos sincronizados.

Ryan
fonte
4

Pessoalmente, tenho esse problema e tenho usado a cópia em vez do Dropbox para sincronizar meus arquivos. (Não uso o Dropbox devido a problemas de privacidade). Assim como o Dropbox, a Copy oferece clientes para todas as principais plataformas.

Às vezes, esqueço de salvar meus buffers organizacionais, portanto, hackeei as seguintes funções para salvar todos os arquivos organizacionais sempre que salvar algum arquivo. Não é uma ótima solução, mas serve ao meu propósito.

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

Além disso, se você mantiver dados confidenciais em seus arquivos organizacionais, recomendo que você dê uma olhada nesta página . Eu uso org-crypt, o que é incrível.

Renan Ranelli
fonte
2

Eu uso o Git para sincronizar meus arquivos de modo organizacional. Eu tenho um script Bash que deixo em execução em segundo plano, que confirma automaticamente o arquivo a cada minuto (por padrão) e, em seguida, empurra ou puxa conforme necessário.

A versão do pseudo-código:

  1. Confirme as alterações locais e atualize os controles remotos.
  2. Encontre confirmação local com git rev-parse @.
  3. Encontre confirmação remota com git rev-parse @{u}.
  4. Encontre a base com git merge-base @ @{u}
  5. Se a consolidação local é igual à consolidação remota, estamos prontos; Tudo está atualizado.
  6. Se a consolidação local for igual à base, o controle remoto terá confirmações extras, o mesmo acontece git pull.
  7. Se a confirmação remota for igual à base, o local terá confirmações extras, o mesmo acontece git push.
  8. Caso contrário, o local e o remoto terão confirmações extras. Meu script tenta resolver isso automaticamente (com git pull), mas, se não puder, enviará uma campainha e sairá para o usuário corrigir manualmente.

Essas 8 etapas são executadas em um loop, não parando até que eu saia manualmente com C-cou haja um erro.

Eu uso esse script no Windows usando Cygwin .

Scott Weldon
fonte
2

Eu uso o Dropbox para sincronizar meus .orgarquivos principais em vez de rsync, gitou similares, porque usando o Dropbox você também pode usar o MobileOrg para ver seus .orgarquivos do seu smartphone.

Para mim, isso é muito fácil e faz um trabalho incrível.

Rafa de Castro
fonte
2

Como outros já disseram, o modo Org não faz nada sobre isso (nem deveria). Portanto, é basicamente uma questão de encontrar sua solução preferida de sincronização de arquivos.

Eu uso o Dropbox. Funciona sem esforço nas minhas três plataformas (macOS, desktop Linux, Android). Além disso, o cliente organizacional móvel que eu uso, Orgzly , oferece suporte imediato .

Paul Bissex
fonte
1

Atualmente estou usando btsync, mas existem várias alternativas abertas (e mais complicadas) por aí. Basicamente, ele assiste o diretório e o sincroniza com todos os outros dispositivos em execução assim que eles ficam online. Uma caixa de depósito sem a nuvem, por assim dizer. Como ele usa tabelas de hash distribuídas e os firewalls do protocolo torrent também não são um problema, e também existem clientes móveis. E transfere tudo criptografado.

Daniel Ziltener
fonte
0

O Dropbox (ou qualquer outro armazenamento na nuvem, eu acho) é o caminho a percorrer. Além disso, isso é realmente útil para sincronizar a configuração do Emacs ~/.emacs.d(usada mklinkno Windows).

Alain
fonte