ownCloud and Seafile conflict resolver
pip install cloud-resolve-conflicts==0.0.8
ownCloud often generates bunch of conflict files. Seafile is far better, but it happens. Some of conflict files are completely senseless (they are equivalent to non conflict files laying beside them), some of them really differs from their neighborhoods. The aim of this script is to resolve conflict files of both types.
python3.3 or newer.
Python 3.3 specific packages: pathlib flufl.enum.
Python package: send2trash (for deleting files to trash).
kdiff3 (for file comparison).
cloud-resolve-conflicts ~/ownCloud
This executes backup of all conflict files into ~/ownCloud/conflict_files_backup.tar, removes all senseless conflict files (permanently) and asks your decision for real conflict files (it shows kdiff3 window with files opened side by side). You can specify other program such as vimdiff or meld with the option --program-name.
Removing all conflict *.aux files (with their corresponding normal files) in current directory using ag and pyp (you can use grep and xargs if you prefer):
cloud-resolve-conflicts --list-all | ag '.aux$' | pyp "'rm \"{}\"'.format(p)" | sh
(simplier examples with proper spaces escaping are welcome)
For more options (such as disabling backups, deleting files to trash, using different compare program, etc.) use:
cloud-resolve-conflicts --help
Send bug reports (especially with serious bugs such as data loss) and make pull requests on BitBucket. Star this script if it helped you.
I wrote this script for myself and used it successfully. I hope this program will work for you too. I wrote some tests to be sure that it will do things correctly. But as always:
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.