Thanks,

I've done a short monkey-patch series to try and fix whole thing. I've added 
your 'reported-by' name. Just got to test it now. Then send it upstream, where 
it will obviously be accepted as perfect without question....

Do you have other 'gui' tools that might abuse and set the recentrepo list in 
.gitconfig? e.g. GitExtensions, Tortoise Git, or anything else? 

I'm guessing that some other tool added the extra entries,  or there is a 
subtle bug in the tcl code where in certain conditions the wrong entry is 
updated.

Philip

https://github.com/PhilipOakley/git/tree/dup-gui
https://github.com/PhilipOakley/git/commit/fe85b13f7f98a2f1 (last of 3 patches)
  ----- Original Message ----- 
  From: Alexey A 
  To: Git for human beings 
  Cc: ass...@gmail.com ; philipoak...@iee.org 
  Sent: Monday, December 14, 2015 9:47 AM
  Subject: Re: [git-users] Warning: gui.recentrepo has multiply values while 
executing


  Hi, Philip!

  My name is Alexey Astakhov. You can add it to the patch.

  I've changed back L250 to "--unset" and Git GUI still works correctly.

  Unfortunately, I didn't store previous version of the .gitconfig... :(

  But I'll try to reproduce this fault again.

  Best Regards,
  Alex

  воскресенье, 13 декабря 2015 г., 15:02:40 UTC+3 пользователь Philip Oakley 
написал:
    Alex,

    I was thinking of sending a patch upstream. Can I add "reported by:- Alex 
?missing second name?  <ass...@gmail.com>" ? (i.e. do you want to be included, 
and if so could you give a name you are known by)

    Did you happen to inspect your old global .gitconfig, or keep a copy?

    I'm particulalrly interested in which of the entries were duplicates, and 
what order they were in, so that I can get a handle on why it might have 
happened.

    I find that in my personal .git config I also have a duplicate

    "
    [gui]
     recentrepo = C:/msysgit195/git
     recentrepo = C:/msysgit195/git
     recentrepo = C:/git-sdk-32/usr/src/MSYS2-packages
    "

    but it hasn't caused a problem 'yet' (and it shouldn't be there..)

    When I look at the wider code (I'm not a tcl/tk coder!) I see in the file 
choose_repository.tcl, at  #L254
    "proc _append_recentrepos {path} " then goes on to try to remove duplicates 
and limit the entries to 10 items.

    That code will probably 'fail' (do the wrong thing) with this update as it 
tries to simulate the delete action on it's own copy of the list, rather than 
refreshing it. So there may need to be a recode of that (so I'll need help from 
the upstream!)

    Either way, thanks for confirming that it worked for you, and hope you can 
give a full name..

    Philip
      ----- Original Message ----- 
      From: Alexey A 
      To: Git for human beings 
      Cc: philip...@iee.org 
      Sent: Sunday, December 13, 2015 10:42 AM
      Subject: Re: [git-users] Warning: gui.recentrepo has multiply values 
while executing


      Hi, Philip!!

      Thanks a lot!
      After changing "--unset" to "--unset-all" the Git GUI starts correctly! :)

      Best Regards,
      Alex

      пятница, 11 декабря 2015 г., 23:30:56 UTC+3 пользователь Philip Oakley 
написал: 
        It looks like the code in C:\Program 
Files\Git\mingw32\share\git-gui\lib\choose_repository.tcl (or your path there)

        My L248-252
        proc _unset_recentrepo {p} {
         regsub -all -- {([()\[\]{}\.^$+*?\\])} $p {\\\1} p
         git config --global --unset gui.recentrepo "^$p\$"
         load_config 1
        }

        should have (--unset-all) at L250
         git config --global --unset-all gui.recentrepo "^$p\$"

        so that the case where you have ended up with two identical 
'recentrepo' entries does not barf (the --unset will only remove a singleton 
key/value entry and warn on the multi-entry (as per your error message.

        Ultimately it should go upstream.

        Philip

          ----- Original Message ----- 
          From: Philip Oakley 
          To: git-...@googlegroups.com 
          Sent: Thursday, December 10, 2015 8:05 PM
          Subject: Re: [git-users] Warning: gui.recentrepo has multiply values 
while executing


          It will be a 'bad entry' in your .gitconfig file. There is a section 
for the git gui.

          I think I've seen something like it before when I had a network drive 
change path (I'd changed the drive mapping). It may have been a different 
error, but it looks to have the same root cause.

          If you'd like, you could do a small patch for the gui and consider 
submitting it.

          Philip
            ----- Original Message ----- 
            From: Alexey A 
            To: Git for human beings 
            Sent: Thursday, December 10, 2015 2:04 PM
            Subject: [git-users] Warning: gui.recentrepo has multiply values 
while executing


            Hello!




            I've got a strage problem with my Git GUI. It appears while Git GUI 
starts. I can't find any description of this problem in the Internet. How to 
solve it?








            Best Regards,
            Alex


            -- 
            You received this message because you are subscribed to the Google 
Groups "Git for human beings" group.
            To unsubscribe from this group and stop receiving emails from it, 
send an email to git-users+...@googlegroups.com.
            For more options, visit https://groups.google.com/d/optout.


          -- 
          You received this message because you are subscribed to the Google 
Groups "Git for human beings" group.
          To unsubscribe from this group and stop receiving emails from it, 
send an email to git-users+...@googlegroups.com.
          For more options, visit https://groups.google.com/d/optout.


  -- 
  You received this message because you are subscribed to the Google Groups 
"Git for human beings" group.
  To unsubscribe from this group and stop receiving emails from it, send an 
email to git-users+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to