Υπάρχει τρόπος για τέτοιο diff?

George Notaras gnot at g-loaded.eu
Sat Mar 27 22:09:38 EET 2010


On 27/3/2010 12:05 μμ, Giorgos Keramidas wrote:
> On Sat, 27 Mar 2010 02:08:00 +0200, George Notaras <gnot at g-loaded.eu> wrote:
>> Έχουμε δύο αρχεία:
>>
>> 1ο:
>> aaaaaa
>> aaaaaaaaaaaa
>> aaaaaaaaa
>> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
>> aaaaaaaaaaaaa
>> aaaaaaa
>>
>> 2o:
>> aaaaaa
>> aaaaaaaaaaaa
>> aaaaaaaaa
>> aaaaaaaaaaaaaaaaaaXXXXaaaaaaaaaaaa
>> aaaaaaaaaaaaa
>> aaaaaaa
>>
>> Το diff βγάζει ολόκληρη την 4η σειρά. Πώς θα γίνει να δούμε μόνο τα ΧΧΧΧ;
> 
> Χρησιμοποιείς κάποιο diff viewer/utility που έχει υποστήριξη για
> highlighting από διαφορές μικρότερες της μίας γραμμής.
> 
> Εγώ π.χ. χρησιμοποιώ την εντολή 'M-x ediff-files' στο Emacs, κι έχω
> γράφει κι ένα μικρό wrapper script που ανοίγει δύο αρχεία σε ediff
> mode.  Το ediff viewer ξέρει να ξεχωρίζει "λέξεις" μέσα στις δύο γραμμές
> που διαφέρουν και να δείχνει κάτι σαν αυτό:
> 
> Το kdiff3 κάνει αντίστοιχο highlighting:
> http://kdiff3.sourceforge.net/doc/screenshot_diff.png
> 
> Το meld επίσης:
> http://meld.sourceforge.net/meld_preview.png
> 
> Οπότε βρες κάποιο που σε βολεύει και δες τα diffs με αυτό.
> 

Ευχαριστώ Γιώργο, αλλά στη συγκεκριμένη περίπτωση με τα mysql dumps, τα
οποία έχουν γίνει με το --extended-insert και επομένως τα INSERT
statements είναι τεραστίου μήκους, δεν είναι και τόσο βολικό το
highlighting. Αν και έλυσα το πρόβλημα που είχα και δεν χρειάζομαι πλέον
τον συγκεκριμένο τρόπο για diff, διάβασα τα docs του difflib που
πρότεινε ο Γιώργος (kargig) και κάνει ακριβώς αυτό που χρειαζόμουν,
οπότε πιστεύω ότι σχετικά εύκολα (ή έτσι νομίζω τουλάχιστον) θα μπορούσα
να φτιάξω ένα απλό report σχετικά με το τί προστέθηκε/αφαιρέθηκε από την
database.



More information about the Linux-greek-users mailing list