Re: using git-difftool -d when cherry-picking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 30, 2016 at 3:19 AM, David Aguilar <davvid@xxxxxxxxx> wrote:
> On Wed, Apr 27, 2016 at 11:12:25AM +0200, Jan Smets wrote:
>> Hi
>>
>> Please consider following example
>>
>> #!/bin/bash
>> rm -rf /tmp/gittest
>> mkdir /tmp/gittest
>> cd /tmp/gittest
>>
>> git init
>>
>> echo $RANDOM > testfile
>> git add testfile
>> git commit -m test -a
>>
>> git branch X
>> git checkout X
>> echo $RANDOM > testfile
>> git add testfile
>> git commit -m test -a
>>
>> git checkout master
>> echo $RANDOM > testfile
>> git add testfile
>> git commit -m test -a
>>
>> git cherry-pick X
>> git diff --raw
>> git difftool -d
>>
>>
>> This emulates a merge conflict when using git-cerry-pick.
>>
>> $ git diff --raw
>> :000000 100644 0000000... 0000000... U  testfile
>> :100644 100644 a04e026... 0000000... M  testfile
>>
>> When executing git difftool with the -d option :
>>
>> /usr/lib/git-core/git-difftool line 260: File exists
>>
>> A possible solution is to build an unique list in @working_tree
>>
>> The purpose is to edit/resolve the conflict in the difftool.
>
>
> That could be useful.  git-mergetool is intended to be used when
> merge conflicts exist, but it sounds like you may have already
> found a possible solution by making @working_tree unique.  Have
> you tested that to see if it skirts around the issue?
>
> If you have a patch I'd be happy to help review and test it.

Something like this seems to work.

26a27,32
> sub uniq
> {
>         my %seen;
>         grep !$seen{$_}++, @_;
> }
>
251a258
>     my @unique_working_tree = uniq( @working_tree );
256c263
<     for my $file (@working_tree) {
---
>     for my $file (@unique_working_tree) {

TMTOWTDI

Thanks !

-- 
Smets Jan
jan@xxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]