GithubHelp home page GithubHelp logo

Comments (3)

icculus avatar icculus commented on July 30, 2024 1

So this happens because the wikibot syncs between SDL's headers and wiki in a cronjob that runs once a minute. When it does, it copies differences in the headers to the wiki first, and if both have changes, the wiki changes are lost here.

Usually this works because commits don't generally happen to both the wiki and the headers in the same 60 second window.

BUT: the bot will also refuse to do anything if sync'ing doesn't produce reliable results, so it won't get into a situation where it's committing the same changes back and forth in an infinite loop. In this case, it won't do anything until I come along and unjam it manually...and now your 60 second window might be hours or days, and this is where we see it eating changes.

Redesigning to deal with this is probably significant effort, and I should do it at some point, but I wanted to explain why this happens for now.

from sdlwiki.

icculus avatar icculus commented on July 30, 2024 1

We can sort through commits manually; basically it's just looking for the wikibot commits and seeing if a human commit right before it got vaporized.

I think the proper way to fix the issue going forward is to have the cronjob note the last timestamp it sync'd at, and then run wikiheaders.pl for each revision of both repos, back and forth, in chronological order, committing the final set of changes when it gets to present time.

That way, it'll work moment to moment, or if the cronjob goes down for a month.

from sdlwiki.

slouken avatar slouken commented on July 30, 2024

Is there any way to recover the lost changes?

from sdlwiki.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.