Tim Mason | 1 Jun 13:29 2009

Invoking 'patch' failed.

Hi

I just installed Meld 1.3.0. It mostly works fine, but I get the 
"invoking patch failed" error when I do "meld <filename>" when using git 
as the SCM (same command works fine for CVS)

Opening the file from the meld browser (ie. "meld ." and then 
double-click on the file works fine for both git and CVS

- meld version: '1.3.0'

- source control software type: 'Git'

- source control software version: 'X.Y.Z'
git version 1.6.1.1

- the output of 'git diff HEAD somefile.txt'
timm-desktop> git diff HEAD mamalistenc.c | cat
diff --git a/4.0/mamalistenc.c b/4.0/mamalistenc.c
index 3daadba..db32743 100644
--- a/4.0/mamalistenc.c
+++ b/4.0/mamalistenc.c
 <at>  <at>  -41,7 +41,7  <at>  <at>  static const char* gUsageString[]=
  "-DF               Write the data dictionary to specified file.",
  "-dict_tport       The name of the transport to use for obtaining the 
data"
                     " dictionary.",
-"-B                Do not get a dictionary",
+"-B                Don't get a dictionary",
  "-E                Do not extract data from incoming messages.",
(Continue reading)

Ben Johnson | 1 Jun 14:39 2009
Picon

meld command line

Hello,

Does Meld have a command line interface?

If so where can I find the specifications/documentation for it?

We want to generate HTML diff reports from a shell script without 
launching the GUI, is this possible?

Thanks
Ben
Stephen Kennedy | 2 Jun 23:33 2009
Picon

Re: meld command line

> Does Meld have a command line interface?
>
> If so where can I find the specifications/documentation for it?

meld --help describes the CLI.

> We want to generate HTML diff reports from a shell script without launching
> the GUI, is this possible?

How are you generating HTML diff reports through the gui in the first place?

Stephen.
Ali Afshar | 3 Jun 10:45 2009
Picon

Re: meld command line

Ben Johnson wrote:
> Hello,
>
> Does Meld have a command line interface?
>
> If so where can I find the specifications/documentation for it?
>
> We want to generate HTML diff reports from a shell script without 
> launching the GUI, is this possible?
I am not sure exactly what you are wanting to do, but perhaps Pygments / 
pygmentize [1] are a better fit for this. Something like:

$ hg diff | pygmentize -l diff -f html

[1] http://pygments.org/
Kai Willadsen | 3 Jun 14:01 2009
Picon

Cleaning up Differ

Hi,

Attached for review are the first few patches in a series aimed at
cleaning up diffutil.Differ. These include some cleanup of unused
arguments and return values, as well as some small refactoring.

Comments appreciated.

Kai
Attachment (0002-Refactor-_locate_chunk.patch): application/octet-stream, 1535 bytes
Attachment (0003-Simplify-creation-of-diff-chunks.patch): application/octet-stream, 1961 bytes
_______________________________________________
meld-list mailing list
meld-list <at> gnome.org
http://mail.gnome.org/mailman/listinfo/meld-list
Piotr Piastucki | 7 Jun 09:15 2009
Picon

Re: Cleaning up Differ

Hi,

I am attaching yet another patch that simplifies Differ class.

Cheers,
Piotr

Kai Willadsen wrote:
> Hi,
>
> Attached for review are the first few patches in a series aimed at
> cleaning up diffutil.Differ. These include some cleanup of unused
> arguments and return values, as well as some small refactoring.
>
> Comments appreciated.
>
> Kai
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> meld-list mailing list
> meld-list <at> gnome.org
> http://mail.gnome.org/mailman/listinfo/meld-list

Attachment (0002-Simplify-Differ.patch): text/x-patch, 2531 bytes
_______________________________________________
meld-list mailing list
(Continue reading)

Kai Willadsen | 7 Jun 10:13 2009
Picon

Re: Cleaning up Differ

2009/6/7 Piotr Piastucki <leech.miranda <at> gmail.com>:
> Hi,
>
> I am attaching yet another patch that simplifies Differ class.

I had a look at this patch (this is from bug 577092, right?)
yesterday. In quick testing, it seems like the new code has equivalent
effect, but I don't think that this is obvious from the patch.

For example, I couldn't convince myself that moving the call to
self._merge_blocks() didn't change behaviour. Some explanation of the
logic behind the change would really help here.

Kai
Piotr Piastucki | 7 Jun 12:27 2009
Picon

Re: Cleaning up Differ

Hi,

I am a bit surprised that the patch is not self-explanatory, because the 
code in diffutil is quite simple after all, but here is the info you 
requested:

1) block is not need if
len(using[0])==0 OR len(using[1])==0
because of:
...
            block = self._merge_blocks( using, base_seq, high_seq, block)

            if len(using[0])==0:
                assert len(using[1])==1
                yield None, using[1][0]
            elif len(using[1])==0:
                assert len(using[0])==1
                yield using[0][0], None
            else:
...
so moving the call here does not change anything:
...
                yield using[0][0], None
            else:
                block = self._merge_blocks( using, base_seq, high_seq, 
block)
...

2) Hence self._merge_blocks is now called if and only if both 
len(using[0]) and len(using[1]) are != 0, then the following checks in 
(Continue reading)

Piotr Piastucki | 7 Jun 12:32 2009
Picon

Re: Cleaning up Differ

A small correction - the code after removing the checks in 2) will be of 
course as follows:

   def _merge_blocks(self, using, low_seq, high_seq, last_diff):
        LO, HI = 1,2
        lowc  = using[low_seq][ 0][LO]
        highc = using[low_seq][-1][HI]
        lowc  =  min(lowc,  using[not low_seq][ 0][LO])
        highc =  max(highc, using[not low_seq][-1][HI])
        low = []
        high = []
        for i in (0,1):
           if len(using[i]):
               d = using[i][0]
               low.append(  lowc  - d[LO] + d[2+LO] )
               d = using[i][-1]
               high.append( highc - d[HI] + d[2+HI] )
        return low[0], high[0], lowc, highc, low[1], high[1]

Cheers,
Piotr

Piotr Piastucki wrote:
> Hi,
>
> I am a bit surprised that the patch is not self-explanatory, because 
> the code in diffutil is quite simple after all, but here is the info 
> you requested:
>
> 1) block is not need if
(Continue reading)

Kai Willadsen | 7 Jun 14:22 2009
Picon

Re: Cleaning up Differ

2009/6/7 Piotr Piastucki <leech.miranda <at> gmail.com>:
> I am a bit surprised that the patch is not self-explanatory, because the
> code in diffutil is quite simple after all, but here is the info you
> requested:

Parts 2 and 3 are indeed obvious, given that part 1 is correct.

> 1) block is not need if
> len(using[0])==0 OR len(using[1])==0
> because of:
> ...
>           block = self._merge_blocks( using, base_seq, high_seq, block)
>
>           if len(using[0])==0:
>               assert len(using[1])==1
>               yield None, using[1][0]
>           elif len(using[1])==0:
>               assert len(using[0])==1
>               yield using[0][0], None
>           else:
> ...
> so moving the call here does not change anything:
> ...
>               yield using[0][0], None
>           else:
>               block = self._merge_blocks( using, base_seq, high_seq, block)
> ...

This isn't (by itself) true. The call you're moving assigns to block,
which is used in subsequent calls to _merge_blocks(). In order to not
(Continue reading)


Gmane