Una herramienta de línea de comandos para fusionar fácilmente las copias de seguridad de la biblioteca JW, escritas en GO. Para la versión iOS, visite iOS-JWLM.
GO -JWLM le permite fusionar dos archivos de copia de seguridad .JWLibrary, al tiempo que le brinda el control del proceso: sus notas son preciosas y no debe confiar en un programa que resuelve posibles conflictos de fusión para usted.
Creé este proyecto con el objetivo de tener una herramienta que pueda trabajar en múltiples sistemas operativos e incluso permitir que se incorpore en otros programas como una biblioteca (como una aplicación iOS). Es, y lo será durante bastante tiempo, un proyecto de trabajo en progreso, por lo que siempre estoy abierto a sugerencia y especialmente informes si encuentra un comportamiento inesperado u otros errores.
El uso es bastante simple: tiene un comando, nombra sus archivos de copia de seguridad, y presione Entrar. La herramienta fusionará todas las entradas para usted. Si encuentra un conflicto (como la misma nota con diferentes contenido o dos marcas que se superponen), le pedirá instrucciones: ¿debería elegir la versión izquierda o la correcta? Después de que termine, tiene una copia de seguridad bien fusionada que puede importar a su aplicación de biblioteca JW. El primer proceso de fusión puede llevar algún tiempo debido a la cantidad de posibles conflictos, dependiendo de qué tan separadas estén las copias de seguridad. Pero si los fusiona regularmente, debería ser cuestión de segundos :)
go-jwlm merge < left-backup > < right-backup > < merged-backup >
Si se produce un conflicto mientras se fusiona, la herramienta solicitará instrucciones: si elige la versión izquierda o la correcta. Para eso, le muestra las entradas reales (estoy planeando mejorar esa vista y agregar más información, especialmente sobre las publicaciones, en el futuro). Si no está seguro de qué hacer, ¿presiona ?
por ayuda.
Actualmente, hay tres solucionadores que puede usar para resolver automáticamente los conflictos: chooseLeft
, chooseRight
y chooseNewest
(aunque el último solo se puede usar para las notas). Como sugieren sus nombres, chooseLeft
y chooseRight
siempre elegirán el mismo lado si se produce un conflicto, mientras que chooseNewest
siempre elige la entrada más nueva.
Puede habilitar estos solucionadores con --bookmarks
, --markings
, --notes
y --inputFields
Flags:
go-jwlm merge < left-backup > < right-backup > < merged-backup > --bookmarks chooseLeft --markings chooseRight --notes chooseNewest --inputFields chooseLeft
Los resueltos de conflictos son útiles para la fusión regular cuando está seguro de que un lado siempre es el más actualizado. Para una primera fusión, todavía se recomienda resolver conflictos manualmente, por lo que no corre el riesgo de sobrescribir accidentalmente las entradas.
Para comparar rápidamente dos archivos de copia de seguridad y verificar si su contenido es igual, puede usar el comando go-jwlm compare <left-backup> <right-backup>
. Este se usa principalmente para la validación, pero puede ser útil en otras situaciones :)
Puede encontrar los binarios compilados para Windows, Linux y Mac en la sección de lanzamiento.
GO-JWLM se puede instalar fácilmente utilizando Hombre:
brew install andreassko/homebrew-go-jwlm/go-jwlm
Vea las instrucciones sobre cómo instalar casería casera en https://brew.sh
Si desea fusionar copias de seguridad con su iPhone o iPad, eche un vistazo a JWLM. Utiliza toda la lógica de fusión de GO-JWLM, pero la envuelve en una aplicación iOS agradable y fácil de usar. Ya está disponible en la App Store.
Puede venir una versión de Android en algún momento, pero como personalmente no uso dispositivos Android, desafortunadamente, no es la más alta prioridad para mí en este momento. Si está interesado en ayudar con este proyecto, no dude en contactarme o simplemente comenzar por su cuenta :)
Gomobile permite incluir paquetes GO dentro de una aplicación móvil. Como todavía hay algunas limitaciones, construí un envoltorio para la mayoría de las estructuras y métodos. Para construir el enlace por su cuenta, instale Gomobile, cambie en el directorio de gomobile
de este repositorio y ejecute gomobile bind -target <ios or android>
.
Me tomó un tiempo confiar en mi propio programa, pero todavía mantengo copias de seguridad de mis bibliotecas, y tú también deberías. GO-JWLM todavía está en fase beta, por lo que existe la posibilidad de que algo se pierda debido a un error aún por encontrar. Así que tenga eso en cuenta y, nuevamente, si encontró un error, no dude en abrir un problema.
Algo no está claro, ¿tiene sugerencias de documentación o encontró un error? No dude en abrir un problema. Estoy feliz de ayudar, aunque sea paciente si me lleva un tiempo responder :)