diffuse-0.9.0/0000775000232200023220000000000014550537357013533 5ustar debalancedebalancediffuse-0.9.0/meson.build0000664000232200023220000000047714550537357015705 0ustar debalancedebalanceproject('diffuse', version: '0.9.0', meson_version: '>= 0.55', license: 'GPL-2.0-or-later', default_options: [ 'warning_level=2' ]) i18n = import('i18n') subdir('data') subdir('src') subdir('po') if build_machine.system() == 'linux' meson.add_install_script('build-aux/meson/postinstall.py') endif diffuse-0.9.0/.vscode/0000775000232200023220000000000014550537357015074 5ustar debalancedebalancediffuse-0.9.0/.vscode/extensions.json0000664000232200023220000000024714550537357020171 0ustar debalancedebalance{ "recommendations": [ "davidanson.vscode-markdownlint", "mesonbuild.mesonbuild", "ms-python.python", "redhat.vscode-yaml" ] } diffuse-0.9.0/.vscode/launch.json0000664000232200023220000000131314550537357017237 0ustar debalancedebalance{ "version": "0.2.0", "configurations": [ { "name": "Python: Debug", "type": "python", "request": "launch", "program": "${workspaceFolder}/main.py", "console": "integratedTerminal", // "env": { // "PYTHONPATH": "." // } }, { "name": "Python: Remote Attach", "type": "python", "request": "attach", "port": 5678, "host": "localhost", "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "." } ] } ] } diffuse-0.9.0/README.md0000664000232200023220000000516214550537357015016 0ustar debalancedebalance

Diffuse

Download on Flathub

CI status Packaging status

Diffuse is a graphical tool for merging and comparing text files. Diffuse is able to compare an arbitrary number of files side-by-side and gives users the ability to manually adjust line matching and directly edit files. Diffuse can also retrieve revisions of files from several VCSs for comparison and merging. Some key features of Diffuse: * Ability to compare and merge an arbitrary number of files side-by-side (n-way merges) * Line matching can be manually corrected by the user * Ability to directly edit files * Syntax highlighting * Supports several VCS: [Bazaar][bzr], [CVS][cvs], [Darcs][darcs], [Git][git], [Mercurial][hg], [Monotone][mtn], [RCS][rcs] and [Subversion][svn] * Unicode support * Unlimited undo * Easy keyboard navigation [bzr]: https://bazaar.canonical.com [cvs]: https://cvs.nongnu.org [darcs]: http://darcs.net [git]: https://git-scm.com [hg]: https://www.mercurial-scm.org [mtn]: https://www.monotone.ca [rcs]: https://www.gnu.org/software/rcs/ [svn]: https://subversion.apache.org ## Documentation For a more detailed documentation for users, translators and developers, see the [documentation](docs/). ## Contact Discuss with us on Matrix at [#diffuse:matrix.org](https://matrix.to/#/#diffuse:matrix.org). ## Licenses Diffuse is under the [GPLv2](COPYING). The file [io.github.mightycreak.Diffuse.appdata.xml.in](data/io.github.mightycreak.Diffuse.appdata.xml.in) is licensed under the [FSF-AP](https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html) license. Copyright (C) 2006-2019 Derrick Moser Copyright (C) 2015-2023 Romain Failliot Icon made by [@jimmac](https://github.com/jimmac). This repository is a fork of the original project on SourceForge, which doesn't seem to be maintained anymore: . diffuse-0.9.0/utils/0000775000232200023220000000000014550537357014673 5ustar debalancedebalancediffuse-0.9.0/utils/makemanual.py0000775000232200023220000000651214550537357017367 0ustar debalancedebalance#!/usr/bin/env python # Copyright (C) 2010 Derrick Moser # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the licence, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program. You may also obtain a copy of the GNU General Public License # from the Free Software Foundation by visiting their web site # (http://www.fsf.org/) or by writing to the Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # This program translates Diffuse's DocBook help into a manual page using the # book2manual.xsl template. import os import subprocess # fetch translations for English text hard coded in the stylesheets translations = {} f = open('translations.txt', 'rb') for v in f.read().split('\n'): v = v.split(':') if len(v) == 3: lang = v[0] if not translations.has_key(lang): translations[lang] = [] translations[lang].append(v[1:]) f.close() # find all localised versions of the DocBook manual d = '../src/usr/share/gnome/help/diffuse' for lang in os.listdir(d): # skip over any .svn files if lang.startswith('.'): continue # convert regular DocBook manual into a form suitable for man pages cmd = [ 'xsltproc', 'book2manual.xsl', os.path.join(os.path.join(d, lang), 'diffuse.xml') ] proc = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) proc.stdin.close() proc.stderr.close() fd = proc.stdout s = fd.read() fd.close() if proc.wait() != 0: raise OSError('Could not run xsltproc') # save man page suitable DocBook file a = 'diffuse.xml' f = open(a, 'wb') f.write(s) f.close() # convert to man page cmd = [ 'xsltproc', '/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl', a ] proc = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) proc.stdin.close() proc.stderr.close() fd = proc.stdout s = fd.read() fd.close() if proc.wait() != 0: raise OSError('Could not run xsltproc') os.unlink(a) # read resulting man page f = open('diffuse.1', 'rb') s = f.read() f.close() os.unlink('diffuse.1') # remove comments s = '\n'.join([ c for c in s.split('\n') if not c.startswith('.\\"') ]) # fix arrow s = s.replace('\xe2\x86\x92', '\\(->') # translate extra text for k, v in translations.get(lang, []): s = s.replace(k, v) # figure out where to save the new man page # make subdirectories if necessary dd = '../src/usr/share/man' if lang != 'C': dd = os.path.join(dd, lang) if not os.path.exists(dd): os.mkdir(dd) dd = os.path.join(dd, 'man1') if not os.path.exists(dd): os.mkdir(dd) # finally save the man page f = open(os.path.join(dd, 'diffuse.1'), 'wb') f.write(s) f.close() diffuse-0.9.0/utils/book2manual.xsl0000664000232200023220000000763114550537357017644 0ustar debalancedebalance ]> &date; &app; 1 &app-version; &app-cmd; &app; Manual &app-cmd; graphical tool for merging and comparing text files &app-cmd; &app-cmd; option file Description Options Author Copying diffuse-0.9.0/utils/makemacicon.sh0000775000232200023220000000101614550537357017477 0ustar debalancedebalance#!/usr/bin/env bash # Use this tool if you need to re-create # Diffuse.app/Contents/Resources/diffuse.icns # in case the icon changes (unlikely). sizes=(16 32 64 128 256 512) for s in "${sizes[@]}"; do echo $s rsvg-convert -h $s "$1" > "icon_${s}x$s.png" done cp 'icon_32x32.png' 'icon_16x16@2x.png' cp 'icon_64x64.png' 'icon_32x32@2x.png' cp 'icon_256x256.png' 'icon_128x128@2x.png' cp 'icon_512x512.png' 'icon_256x256@2x.png' mkdir icon.iconset mv icon_*x*.png icon.iconset iconutil -c icns icon.iconset diffuse-0.9.0/utils/makehtmlmanual.sh0000775000232200023220000000043114550537357020230 0ustar debalancedebalance#!/bin/bash xsltproc --nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/docbook.xsl ../src/usr/share/gnome/help/diffuse/C/diffuse.xml | sed 's/<\/head>/<\/head>/;s/