[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-doc-english
Subject:    Re: Regarding using KDiff3 merging tool
From:       Yuri Chornoivan <yurchor () ukr ! net>
Date:       2016-08-23 12:43:09
Message-ID: 1471954522.819684438.lwvbsykl () frv45 ! fwdcdn ! com
[Download RAW message or body]


23 серпня 2016, 14:30:16, від "Prashant Pahurkar" <prashant.pahurkar@gmail.com>:
 
> Hi Yuri,
> 
> 
> 
> 
> 
> 
> 
> Thanks for your reply.
> 
> 
> 
> I have few questions/clarification as below:
> 
> 
> 
> 
> 
> 1.    Yuri:- Anyway, KDiff3 (as any other KDE application) can be controlled with \
> D-Bus. See the instructive article here: http://www.linuxjournal.com/article/10455
> You can easily found merge_choose_a_everywhere in the KDiff3 D-Bus tree under \
> kdiff3/MainWindow_1/actions and set it. Options can be passed through additional \
> arguments to the Windows CALL. 
> 
> Prashant: I have gone through the link you have shared above but I am not very \
> clear. My questions are :  
> 
> 
> 
> a.    
> 
> Do I need to install D-Bus as well in my system to use choose_a_everywhere option \
> before hand.

Oops... I have not tested this on Windows version of _KDiff3_ before writing the \
answer. I works for stock KDE applications from KDE-Windows and for Linux version of \
KDiff3 (tested on Win XP) but it does not work for KDiff3-Windows separate package \
(tested).

> 
> 
> 
> 
> b.    
> 
> Once kdiff3 is launched and when I give 2 input files for merging, then I can \
> choose a or b everywhere option but question is I need to understand how do I set \
> such option via the command line. Pls advise.

It is impossible for the separate KDiff3 package on Windows. Now I know it.

> 
> 2.    Yuri: If you need non-interactive tool then why did you choose Kdiff3? Why \
> not use its backend (diff3 from diffutils), fc from Windows or WinMerge command \
> line part? 
> 
> Prashant: I tried using diff3 which got available as part of KDiff3 installation \
> (in the kdiff3\bin folder)  
> 
> 
> But I was unable to neither run the diff3 application directly nor via the batch \
> file using Call command by passing file as parameters 
> 
> 
> For eg:
> 
> 
> 
> call "C:\Program Files\kdiff3\bin\diff3.exe" "C:\Users\xxx\Documents\Rnd \
> Learning\n1.txt" “C:\Users\xxx\Documents\Rnd Learning\n2.txt" -o \
> "C:\Users\xxx\Documents\Rnd Learning\n3.txt" 
> 
> 
> Please advise on how do I use and invoke Diff3 which will merge 2 files (With File \
> A code dominating) and returning the output in 3rd file. All this to be achieved \
> through command line.

Please use the Linux tools as expected (there are man pages for the in the net).

In this case I recommend diff + sed from \bin. First you use diff:

call diff.exe -DVERSION1 file1.txt file2.txt > merged.txt

then use sed.exe to separate needed part from the diff. The idea is stolen from here:

http://unix.stackexchange.com/questions/63425/how-to-use-patch-and-diff-to-merge-two-files


Some usefule recipes for sed can be found here:

http://sed.sourceforge.net/grabbag/tutorials/

Hope this helps,
Yuri

> 
> 
> Thanks.
> 
> 
> 
> 
> 
> 
> 
> 
> Regards,
> 
> 
> 
> Prashant
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Fri, Aug 12, 2016 at 1:00 PM, Yuri Chornoivan  wrote:
> > Hi,
> > 
> > 
> > Please find some answers below.
> > 
> > 
> > написане Fri, 12 Aug 2016 09:39:32 +0300, Prashant Pahurkar :
> > 
> > > Gentle reminder.
> > > 
> > > Please reply if it is possible to have the required functionality.
> > > 
> > > 
> > > Regards,
> > > 
> > > Prashant
> > > 
> > > On 11 Aug 2016 18:53, "Prashant Pahurkar" 
> > > 
> > > wrote:
> > > 
> > > > Gentle reminder. ..
> > > > 
> > > > Awaiting your reply.
> > > > 
> > > > 
> > > > On 10 Aug 2016 16:46, "Prashant Pahurkar" 
> > > > 
> > > > wrote:
> > > > 
> > > > > 
> > > > 
> > > > > Hi Burkhard,
> > > > 
> > > > > 
> > > > 
> > > > > Thanks for the reply.
> > > > 
> > > > > I have gone through the link you have shared but what I am looking out
> > > > 
> > > > is somewhat different and is as follows:
> > > > 
> > > > > 1. I want to merge 2 files and auto resolve the conflict without any
> > > > 
> > > > manunal intervention.
> > > > 
> > > > > Lets say I will provide the input as:- In Conflict situation it should
> > > > 
> > > > always pick it up from File A and override.
> > > > 
> > > > > Is it possible without manual intervention.
> > > > 
> > > > > I guess this is possible by Manual intervention i.e. by choosing the
> > > > 
> > > > option of selecting "Choose A from everywhere" - but how to achieve this
> > > > 
> > > > without manual intervention.
> > > > 
> > > > > It means how do I default or set the "Choose A from everywhere" option
> > > > 
> > > > before hand.
> > 
> > 
> > Hmm... If you need non-interactive tool then why did you choose Kdiff3? Why not \
> > use its backend (diff3 from diffutils), fc from Windows or WinMerge command line \
> > part? 
> > 
> > Anyway, KDiff3 (as any other KDE application) can be controlled with D-Bus. See \
> > the instructive article here: 
> > http://www.linuxjournal.com/article/10455
> > 
> > 
> > You can easily found merge_choose_a_everywhere in the KDiff3 D-Bus tree under \
> > kdiff3/MainWindow_1/actions and set it. 
> > 
> > Options can be passed through additional arguments to the Windows CALL.
> > 
> > 
> > Hope this helps.
> > 
> > 
> > Best regards,
> > 
> > Yuri
> > 
> > 
> > 
> > > > > 
> > > > 
> > > > > 2. In the above example how do I set this option when calling KDiff3
> > > > 
> > > > from command prompt.
> > > > 
> > > > > For eg:
> > > > 
> > > > > I am using a batch file and using the following command
> > > > 
> > > > > call "C:\Program Files\kdiff3\kdiff3.exe" "C:\Users\xx\Documents\Rnd
> > > > 
> > > > Learning\n1.txt" "C:\Users\xx\Documents\Rnd Learning\n2.txt"
> > > > 
> > > > -o "C:\Users\xx\Documents\Rnd Learning\n3.txt"
> > > > 
> > > > > How do I get the merge output in n3.txt which will have the merge
> > > > 
> > > > product of n1.txt and n2.txt?
> > > > 
> > > > > How do I set the option of "Choose A from everywhere" through the
> > > > 
> > > > command prompt i.e What should I add in the above command line to achieve
> > > > 
> > > > the "Choose A from everywhere" option.
> > > > 
> > > > > Awaiting your reply.
> > > > 
> > > > > 
> > > > 
> > > > > Regards,
> > > > 
> > > > > Prashant
> > > > 
> > > > > 
> > > > 
> > > > > On Tue, Aug 9, 2016 at 7:58 PM, Burkhard Lück 
> > > > 
> > > > wrote:
> > > > 
> > > > > > 
> > > > 
> > > > > > Am Dienstag, 9. August 2016, 18:21:02 CEST schrieb Prashant Pahurkar:
> > > > 
> > > > > > > Hi,
> > > > 
> > > > > > > 
> > > > 
> > > > > > > I have certain doubts and clarification required wrt using KDiff3
> > > > 
> > > > tool as
> > > > 
> > > > > > > follows:
> > > > 
> > > > > > > 1. I want to merge 2 files and auto resolve the conflict by adding
> > > > 
> > > > first
> > > > 
> > > > > > > lines from File A and then appending it with Lines from B. Is it
> > > > 
> > > > possible
> > > > 
> > > > > > > without manual intervention.
> > > > 
> > > > > > > 2. Also Can i achieve the same using command prompt.
> > > > 
> > > > > > > For ex: I am using a batch file and using the following command
> > > > 
> > > > > > > call "C:\Program Files\kdiff3\kdiff3.exe" --auto
> > > > 
> > > > > > > "C:\Users\296170\Documents\Rnd Learning\n1.txt"
> > > > 
> > > > > > > "C:\Users\296170\Documents\Rnd Learning\n2.txt" -o
> > > > 
> > > > > > > "C:\Users\296170\Documents\Rnd Learning\n3.txt"
> > > > 
> > > > > > > 
> > > > 
> > > > > > > This will display the page where it will ask me to select from File A
> > > > 
> > > > or B
> > > > 
> > > > > > > to resolve the conflict. But through command prompt I would like to
> > > > 
> > > > get the
> > > > 
> > > > > > > merge output in n3.txt which will have the merge product of n1.txt and
> > > > 
> > > > > > > n2.txt.
> > > > 
> > > > > > > Please let me know if this is possible and what would be the command
> > > > 
> > > > to
> > > > 
> > > > > > > achieve this?
> > > > 
> > > > > > > 
> > > > 
> > > > > > Please read https://docs.kde.org/trunk4/en/extragear-utils/kdiff3/
> > > > 
> > > > > > documentation.html#commandline
> > > > 
> > > > > > 
> > > > 
> > > > > > --
> > > > 
> > > > > > Burkhard Lück
> > > > 
> > > > > > 
> > > > 
> > > > > 
 
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic