MightyCreak / diffuse

Diffuse is a graphical tool for comparing and merging text files. It can retrieve files for comparison from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK repositories.
http://mightycreak.github.io/diffuse/
GNU General Public License v2.0
265 stars 45 forks source link

Prompt once to reload if more than one file modified externally #16 #93

Closed yuriiz closed 1 year ago

yuriiz commented 3 years ago

https://github.com/MightyCreak/diffuse/issues/16

krlmlr commented 3 years ago

Thanks. What happens if the file is modified in diffuse and outside, especially when auto-reload is on?

yuriiz commented 3 years ago

It will load from outside as indicated by the setting.

krlmlr commented 3 years ago

@MightyCreak: Any chance you can review this and other pull requests within the next few weeks? Happy to collaborate in this repository -- this seems the most recent source of diffuse.

MightyCreak commented 3 years ago

@krlmlr I promise I'll get to it, and I'm still tracking the events on this repo, I just need to prioritize my personal life right now, but I'll get back to the repository as soon as I can.

krlmlr commented 3 years ago

Thanks for the heads up, very much appreciated! Let me know if I can help triage or review.

krlmlr commented 3 years ago

One more thing: when the new dialog shows, the following is printed to the console:

/usr/local/bin/diffuse:7590: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "parent, flags, message_type, buttons, message_format" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(self, Gtk.DialogFlags.DESTROY_WITH_PARENT, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, msg)
/usr/local/bin/diffuse:7590: PyGTKDeprecationWarning: The keyword(s) "message_format" have been deprecated in favor of "text" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(self, Gtk.DialogFlags.DESTROY_WITH_PARENT, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, msg)
/usr/local/bin/diffuse:7590: PyGTKDeprecationWarning: The "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(self, Gtk.DialogFlags.DESTROY_WITH_PARENT, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, msg)

I'm using an installation that contains both this PR and #96. @yuriiz: Could you please take a look?

yuriiz commented 3 years ago

One more thing: when the new dialog shows, the following is printed to the console:

/usr/local/bin/diffuse:7590: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "parent, flags, message_type, buttons, message_format" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(self, Gtk.DialogFlags.DESTROY_WITH_PARENT, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, msg)
/usr/local/bin/diffuse:7590: PyGTKDeprecationWarning: The keyword(s) "message_format" have been deprecated in favor of "text" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(self, Gtk.DialogFlags.DESTROY_WITH_PARENT, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, msg)
/usr/local/bin/diffuse:7590: PyGTKDeprecationWarning: The "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  dialog = Gtk.MessageDialog(self, Gtk.DialogFlags.DESTROY_WITH_PARENT, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, msg)

I'm using an installation that contains both this PR and #96. @yuriiz: Could you please take a look?

Should be fixed in https://github.com/MightyCreak/diffuse/pull/93/commits/da581726b9a22dc12836159a8a55a71490c1bd0a

krlmlr commented 1 year ago

@yuriiz: Are you available for help with this?

yuriiz commented 1 year ago

@krlmlr @MightyCreak I've adopted changes from https://github.com/MightyCreak/diffuse/commit/87d5ef001d51fadd40efaa979bce8cb56245fd9d and removed changes to handling binaries and new "tabs_reload_automatically" option from this PR.

MightyCreak commented 1 year ago

Ok! So I had a couple of discussions on Matrix in the GTK and GNOME Python rooms and modified your code a bit (made all the dialogs more GNOME HIG compliant by using colors).

Also I added your changes in the changelog.

But it seems that, since you used the master branch on your fork, I suspect this branch is protected, so I can't push my changes on top of yours.

I'll create a new PR with both your changes and mines, merge the new one and close this one.

MightyCreak commented 1 year ago

It's merged! Congrats @yuriiz!!

yuriiz commented 1 year ago

Thank you!