git-svn error due to out-of-sync changes?

Jason Merrill jason@redhat.com
Mon May 22 05:10:00 GMT 2017


On Sun, May 21, 2017 at 7:34 PM, Martin Sebor <msebor@gmail.com> wrote:
> On 05/19/2017 03:46 PM, Jason Merrill wrote:
>>
>> On Thu, May 18, 2017 at 3:42 PM, Martin Sebor <msebor@gmail.com> wrote:
>>>
>>> On 05/18/2017 12:55 PM, Markus Trippelsdorf wrote:
>>>>
>>>> On 2017.05.18 at 12:41 -0600, Martin Sebor wrote:
>>>>>
>>>>> On 05/18/2017 11:59 AM, Jeff Law wrote:
>>>>>>
>>>>>> On 05/18/2017 11:41 AM, Martin Sebor wrote:
>>>>>>>
>>>>>>>
>>>>>>> I just tried to push a change and got the error below.  git
>>>>>>> pull says my tree is up to date.  I wonder if it's caused by
>>>>>>> my commit conflicting with another commit (in this case
>>>>>>> r248244) that git-svn doesn't see because it lags behind SVN.
>>>>>>> I brushed this (and other strange errors) off before, not
>>>>>>> bothering to try to understand it but it's happened enough
>>>>>>> times that I'd like to bring it up.  I expect some (maybe
>>>>>>> even most) of these issues would not exist if we were using
>>>>>>> Git directly rather than the git-svn wrapper. Has any more
>>>>>>> progress been made on the Git integration project?  Is there
>>>>>>> something I/we can do to help get it done?
>>>>>>
>>>>>>
>>>>>> That just means something changed upstream betwen your last git svn
>>>>>> rebase and your local commit.
>>>>>>
>>>>>> Just "git svn rebase", resolve conflicts (the ChangeLogs are the most
>>>>>> common source of conflicts)  and you should be good to go.
>>>>>
>>>>>
>>>>> The main issue is that there tend to be errors that wouldn't
>>>>> happen without the extra layer between Git and SVN.  The two
>>>>> are out of sync by minutes (I don't know exactly how many but
>>>>> it seems like at least 10), so clearing these things up takes
>>>>> time.  Some (I'd say most) of the errors I've seen out of
>>>>> Git-svn are also not completely intuitive so it's not always
>>>>> clear what or where the problem is.
>>>>>
>>>>> So I'd like to see if there's something that can be done to
>>>>> move the migration forward.
>>>>
>>>>
>>>> The same issue also happen with git when several people push at the same
>>>> time.
>>>
>>>
>>> Yes, it can.  The major difference, I suspect, is due to Git-svn
>>> asynchronous, delayed updates.  My guess is that Git-svn pull
>>> requests are based on updates from SVN that happen only every
>>> few minutes, but pushes happen in real time.  So when we pull,
>>> we're likely to get outdated sources (changes committed since
>>> the last Git update are not included).  But when we push, we're
>>> likely to run into (at a minimum) ChangeLog conflicts with those
>>> already committed changes that Git-svn hasn't been updated with.
>>> This is just a wild guess based on the errors I've seen and
>>> their increased incidence since 7 has been released.
>>
>>
>> Yes, the git mirror can lag the SVN repo by a few minutes, that's why
>> you need to 'git svn rebase' to pull directly from SVN before a
>> commit.
>
>
> Ah, so that's so the magic spell!  Thanks for explaining it.  I've
> been using 'git pull' and it didn't occur to me that I should be
> using 'git svn rebase' instead to get the most up-to-date sources.
> It would be worth to highlight this bit more prominently on the
> Wiki.

Done, thanks for the suggestion.

Jason



More information about the Gcc mailing list