Page MenuHome

User svn revert instead of update for lib/linux_centos7_x86_64
AbandonedPublic

Authored by Justin Jones (jjones780) on Nov 2 2022, 10:04 AM.

Details

Summary

SVN occasionally fails to retrieve files
This patch is here for further discussion.
Warning: Using revert will overwrite all changes to the precompiled lib folder during an update.

re: https://devtalk.blender.org/t/error-building-at-least-python-3-10-is-required-to-build/23102/17

It looks like this is a bug in svn that has vexed many people over the years. The following web pages include Windows, Mac and Linux users experiencing the problem.
https://stackoverflow.com/questions/840509/svn-update-is-not-updating
https://serverfault.com/questions/33973/tortoisesvn-missing-file-in-update
https://serverfault.com/questions/1031304/svn-client-not-updating-file-in-working-copy

The only consistently working solution seems to be to use revert ( or switch away from svn )

Only the Linux modifications have been tried.
The windows changes are guesses.

Diff Detail

Repository
rB Blender

Event Timeline

Justin Jones (jjones780) requested review of this revision.Nov 2 2022, 10:04 AM
Justin Jones (jjones780) created this revision.

added a change for windows - untested -

Justin Jones (jjones780) edited the summary of this revision. (Show Details)

added another windows change -=UNTESTED=-

svn revert only resets files at the current revision, it does not update to the latest revision. Further, this may revert changes that developers made intentionally, for example to tests.

It should be possible to avoid conflicts automatically somehow, but this problem that we just ran into on Linux has not happened in the past or on other platforms. I think to make a fix a better understanding of what happened is needed.

Ray Molenkamp (LazyDodo) requested changes to this revision.Nov 2 2022, 2:40 PM

These problems happen for very specific reasons, it's best to understand what is happening and why rather than throwing a "well a revert fixes my problem, lets slam that on everywhere". svnfix on windows exists because updating python while it is running can corrupt the folder, cleanup and update 100% fixes that. your changes revert back to the old version, so when you run make update again, it breaks all over again. Which is worse. so the svn_fix.cmd changes will have to be reverted..

as brecht already pointed out, revert does not update, so it breaks the update functionality, as well as it undoes work devs may have done, so that change has to be reverted as well

given that leaves no changes that can possibly accepted, it's likely best to abandon this diff

This revision now requires changes to proceed.Nov 2 2022, 2:40 PM
Justin Jones (jjones780) abandoned this revision.EditedNov 3 2022, 12:29 PM

My current understanding:
Python is run from the svn directory which results in cache ( and other?) files being written into the python directory tree. <-- update: ignored by svn - some other corruption cased problem.
SVN refuses update into areas that have changes.

The windows batch files run python using the -B flag ( from Ray's comment in the chat)
"The option -B tells Python not to write .pyc files on the import of source modules."
this may be enough to avoid the problem on windows?