Coder Social home page Coder Social logo

weshouman / meld Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gnome/meld

0.0 0.0 0.0 17.74 MB

Read-only mirror of https://gitlab.gnome.org/GNOME/meld

Home Page: https://gitlab.gnome.org/GNOME/meld

License: GNU General Public License v2.0

Shell 0.41% Python 97.87% CSS 0.28% Makefile 0.07% Roff 0.37% Meson 0.99%

meld's Introduction

About Meld

Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and supports many version control systems including Git, Mercurial, Bazaar, CVS and Subversion.

Meld helps you review code changes, understand patches, and makes enormous merge conflicts slightly less painful.

Meld is licensed under the GPL v2 or later.

Requirements

  • Python 3.6
  • pycairo (Python3 bindings for cairo without GObject layer)
  • PyGObject 3.30 (Python3 bindings for GObject introspection)
  • gsettings-desktop-schemas

And following packages with GObject introspection:

  • GLib 2.36
  • Pango
  • PangoCairo
  • GTK+ 3.22
  • GtkSourceView 4.0

Build requirements

  • Python 3.6
  • Meson 0.48
  • Ninja
  • gettext
  • GLib 2.36 and its development utilities such as glib-compile-schemas

For Windows build requirements, see mingw-common section .gitlab-ci.yml

Running

You do not need to build Meld in order to run it. Meld can be run directly from this source directory by running:

$ bin/meld

Unix users should get Meld from their distribution package manager, or from Flathub.

Windows users should download the provided MSIs on the Meld home page.

OSX users can install Meld using Homebrew (or Macports, Fink, etc.), or there are unofficial native builds available from the Meld for OSX project.

Building

Meld uses meson build system. Use the following commands to build Meld from the source directory:

$ meson _build
$ cd _build
$ ninja

You can then install Meld system-wide by running:

$ ninja install

A Windows installer can be built with command

C:\Python34\python.exe setup_win32.py bdist_msi

which will create the file dist/Meld-VERSION-ARCH.msi.

Developing

It's easy to get started developing Meld. From a git checkout, just run bin/meld.

We also support development using Flatpak via GNOME Builder. At the Builder "Clone..." dialog, enter https://gitlab.gnome.org/GNOME/meld.git, and the default build + run development flow using Flatpak should work.

Contributing

Meld uses GNOME's GitLab to track bugs, and user questions and development discussions happen on the Meld mailing list. The development team is small, and new contributors are always welcome!

List of issues: https://gitlab.gnome.org/GNOME/meld/issues

Support forum: https://discourse.gnome.org/tag/meld

Links

Home page: https://meld.app/

Documentation: https://meld.app/help/

Wiki: https://wiki.gnome.org/Apps/Meld

meld's People

Contributors

kaiw avatar piotrdrag avatar dmustieles avatar marv-cz avatar haaninjo avatar mirosnik1 avatar martinvanzijl avatar yurchor avatar claudep avatar vincele avatar kelemeng avatar hugosenari avatar emintufan avatar rffontenelle avatar milocasagrande avatar urbalazs avatar frandieguez avatar hugok79 avatar zppp1 avatar sicklylife-jp avatar ser82-png avatar mariobl avatar takeshi-aihana avatar pmkovar avatar hellyguo avatar inigomartinez avatar annoab avatar atriwidada avatar alan01 avatar ekaterinepapava avatar

meld's Issues

Sweep: Further support for side to side comparison and copying

Following are 3 scenarios for further support for side to side comparison and copying/

Scenario 1 [selected line copy]

(not supported, copying between 2 file panes could be by minimum based on a block, selected line copying shall be also supported)

  • User compares text panes.
  • User wants to copy only a subset of differing block, so he makes a selection to span multiple lines
  • Then, User sees a change in the UI for comparison that indicates that only those lines will be copied out of the block
  • Then, Clicking copy to left or copy to right now would apply only for the selected lines

Scenario 2 [UI arrow to copy files/folders]

(partial support exists by right clicking on the file/folder and selecting copy to left/right)

  • While comparing 2 folder panes
  • User clicks on a file that's missing in the other pane
  • Then an arrow to copy to the other side is available.
  • User should be able to configure an app setting that could enable each differing line in either of the directions to have an arrow next to it, pointing to the pane that misses this file

Scenario 3 [map files with different names]

(not supported. When comparing 2 folders we should be able to set a mapping temporarily according to the following scenario)

  • While comparing 2 folder panes
  • User selects a file/folder
  • User clicks ctrl+K
  • User selects a file/folder (should match first ones type)
  • Then, the 2 files would be comparable for this session, however if the user clicked ctrl+shift+K after selecting a file, the mapping of this file would be removed. All mappings could be reset using ctrl+L

scenario_1_original_report.txt

Checklist
  • meld/filediff.py ✅ Commit 28c7f9c
  • meld/dirdiff.py ✅ Commit 7652e57
  • meld/filemapping.py ✅ Commit 4b37642

Sweep: Allow comparing a file on the left with another on the right with a different name, while comparing directories

Brief

While comparing 2 directories we would like to have the option to compare 2 file names that may have different names.

Expected behavior

Right click on a file on the left and select "Select left file/dir to compare" then right click on the right file (or dir) and select "Compare to 'filename'". Note we should be able to do that also starting from the right file

Checklist
  • meld/dirdiff.py ✅ Commit 3447ab7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.