[meld] filediff: Assume non-existant output files are writable (bgo#730194)
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] filediff: Assume non-existant output files are writable (bgo#730194)
- Date: Fri, 16 May 2014 22:39:51 +0000 (UTC)
commit f670b14dbd6779e6e56f8bc865d12df7fd9662a2
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sat May 17 08:37:53 2014 +1000
filediff: Assume non-existant output files are writable (bgo#730194)
The scenario this handles is VCs that give a non-existant file as the
target file for a merge, expecting the helper (i.e., us) to write
that file if the merge was successful.
meld/filediff.py | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index d792aca..be3f6c8 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -1046,8 +1046,11 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
buf = self.textbuffer[1]
buf.data.savefile = os.path.abspath(filename)
buf.data.label = filename
- self.set_buffer_writable(buf, os.access(buf.data.savefile, os.W_OK))
- self.fileentry[1].set_filename(os.path.abspath(filename))
+ writable = True
+ if os.path.exists(buf.data.savefile):
+ writable = os.access(buf.data.savefile, os.W_OK)
+ self.set_buffer_writable(buf, writable)
+ self.fileentry[1].set_filename(buf.data.savefile)
self.recompute_label()
def _set_save_action_sensitivity(self):
@@ -1179,7 +1182,10 @@ class FileDiff(melddoc.MeldDoc, gnomeglade.Component):
t.buf.insert(t.buf.get_end_iter(), nextbit)
else:
if t.buf.data.savefile:
- writable = os.access(t.buf.data.savefile, os.W_OK)
+ writable = True
+ if os.path.exists(t.buf.data.savefile):
+ writable = os.access(
+ t.buf.data.savefile, os.W_OK)
else:
writable = os.access(t.filename, os.W_OK)
self.set_buffer_writable(t.buf, writable)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]