Uma ferramenta de linha de comando para mesclar facilmente os backups da biblioteca JW, escritos em Go. Para a versão iOS, visite iOS-jwlm.
O GO -JWLM permite mesclar dois arquivos de backup .jwlibrary, ao mesmo tempo em que você é o controle do processo - suas anotações são preciosas e você não precisa confiar em um programa resolvendo possíveis conflitos de mesclagem para você.
Criei este projeto com o objetivo de ter uma ferramenta capaz de trabalhar em vários sistemas operacionais e até mesmo permitir que ele seja incorporado em outros programas como uma biblioteca (como um aplicativo iOS). É - e será por algum tempo - um projeto de trabalho em andamento, por isso estou sempre aberto para sugestões e, especialmente, relatórios se você encontrar um comportamento inesperado ou outros bugs.
O uso é bem simples: você tem um comando, nomeia seus arquivos de backup - e pressione Enter. A ferramenta mesclará todas as entradas para você. Se ele encontrar um conflito (como a mesma nota com conteúdo diferente ou duas marcas que se sobrepõem), pedirá instruções: deve escolher a versão esquerda ou a certa? Depois que isso terminar, você tem um backup bem mesclado que pode importar para o seu aplicativo de biblioteca da JW. O primeiro processo de mesclagem pode levar algum tempo devido ao número de conflitos possíveis, dependendo de quão distantes você está backups. Mas se você os fundir regularmente, deve ser uma questão de segundos :)
go-jwlm merge < left-backup > < right-backup > < merged-backup >
Se ocorrer um conflito durante a fusão, a ferramenta solicitará instruções: se escolher a versão esquerda ou a direita. Para isso, mostra as entradas reais (estou planejando melhorar essa visão e adicionar mais informações, especialmente sobre publicações, no futuro). Se você não tem certeza do que fazer, pressione ?
Para ajuda.
Atualmente, existem três solucionadores que você pode usar para resolver automaticamente conflitos: chooseLeft
, chooseRight
e chooseNewest
(embora o último seja utilizável apenas para anotações). Como sugerem seus nomes, chooseLeft
e chooseRight
sempre escolherão o mesmo lado se ocorrer um conflito, enquanto chooseNewest
sempre escolhe a entrada mais nova.
Você pode habilitar esses solucionadores com os --bookmarks
--markings
--notes
e --inputFields
sinalizadores:
go-jwlm merge < left-backup > < right-backup > < merged-backup > --bookmarks chooseLeft --markings chooseRight --notes chooseNewest --inputFields chooseLeft
Os resolvedores de conflitos são úteis para a fusão regular quando você tem certeza de que um lado é sempre o mais atualizado. Para uma primeira mesclagem, ainda é recomendável resolver manualmente conflitos, para que você não corra o risco de substituir acidentalmente as entradas.
Para comparar rapidamente dois arquivos de backup e verificar se o conteúdo deles é igual, você pode usar o comando go-jwlm compare <left-backup> <right-backup>
. Este é usado principalmente para validação, mas pode ser útil em outras situações :)
Você pode encontrar os binários compilados para Windows, Linux e Mac na seção de liberação.
O GO-JWLM pode ser facilmente instalado usando o HomBrew:
brew install andreassko/homebrew-go-jwlm/go-jwlm
Veja as instruções sobre como instalar homebrew em https://brew.sh
Se você deseja mesclar backups usando seu iPhone ou iPad, dê uma olhada no JWLM. Ele usa toda a lógica de mesclagem do go-jwlm, mas envolve-a em um aplicativo iOS agradável e fácil de usar. Já está disponível na App Store.
Pode chegar a uma versão do Android em algum momento, mas como eu pessoalmente não uso dispositivos Android, infelizmente - não é a maior prioridade para mim agora. Se você estiver interessado em ajudar neste projeto, não hesite em entrar em contato comigo ou apenas iniciá -lo por conta própria :)
O Gomobile permite incluir pacotes GO em um aplicativo móvel. Como ainda existem algumas limitações, construí um invólucro para a maioria das estruturas e métodos. Para construir a ligação por conta própria, instale o Gomobile, mude no diretório gomobile
deste repositório e execute gomobile bind -target <ios or android>
.
Levei um tempo para confiar no meu próprio programa, mas ainda mantenho backups das minhas bibliotecas - e você também. O GO-JWLM ainda está em fase beta, então existe a possibilidade de que algo possa se perder por causa de um bug ainda para encontrar. Portanto, lembre -se disso e - novamente - se você encontrou um bug, fique à vontade para abrir um problema.
Algo não está claro, você tem sugestões para documentação ou encontrou um bug? Sinta -se à vontade para abrir um problema. Fico feliz em ajudar, embora seja paciente se demorar um pouco para eu responder :)