Q: Why so many commits in the temp-test-ioccc repo? A: See below #1918
Replies: 2 comments
-
And for those who are concerned about the delay here's some good news: #3 is fast approaching the end. I'm in the midst of a task now and when that is done there is very little left to do we do believe (for that issue). This task should hopefully be done in some weeks unless of course that hyperspace bypass is created or something else drastic happens :-) The bugs.md file has numerous things (actually quite a few) other people might wish to look at helping with as well. There are a variety of types of issues there and all help is certainly welcome. As for #3 if you look at the todo list you can see it's mostly done notwithstanding the final todos that have to come after everything else. But anything there certainly could be done by other people too. It should be noted that sometimes the list is out of sync with what is done and what is not. Looking at it I see something that I finished not that long ago, for instance, but issue #3 is coming to a close. |
Beta Was this translation helpful? Give feedback.
-
FYI: Issue #3 was completed today. We expect that the era of lots of edits to the internal contents of entries is now over. Issue #1933 and issue #2006 may cause a number of entry By the time the Great Fork Merge happens (see the top comment of issue #2239), the IOCCC winner repo and the Official IOCCC web site will become quiescent, apart from pull requests to correct something important, IOCCC news announcements and winning entries of future IOCCCs. ;-) |
Beta Was this translation helpful? Give feedback.
-
Why so many commits in the temp-test-ioccc ?
Some people have indicated that they are not happy with the +4000 commits and growing for this repo.
Work on this particular repo is "fast and ferious" as the expression goes. We could have various "release versions" of this repo, rolling up edits on a branch into a single commit.
Why?
We want to be able to test ideas: ideas that may break things. And when something is broken, we can quickly repair if needed, or leave in a broken state until a more comprehensive fix is ready.
For example, we are working on building HTML files via a data driven process. This involves a lot of experiments. While this is going on, the temp-test-ioccc repo has lots of broken links and web pages that do not yet exist or have not yet been updated to be compatible with the data driven process.
There are a lot of things left TODO. In the case of issue #3 and issue #4 the top comment contains a TODO list with unchecked items indicating sub-tasks may not have started or that may be in the middle of being worked on.
A more normal "release process" would involve waiting until releases are published before moving on to next set of tasks. Moreover they would involve merging branches and other procedural processes needed to roll up the activity into a single release commit.
We have chosen NOT TO DO THIS, in part to help speed up the day when the next IOCCC starts.
By not doing the "rollup release" process, multiple people (OK most 2 and sometimes 3) can work across the entire repo a push out changes that anyone can see as soon as the change are ready.
One can use the so-called "blame" process to see when something changed, and have a clue as to perhaps why it was changed. Usually committed to temp-test-ioccc repo contain brief but specific information about the specific pull request or commit details. This as opposed to a "this is version x.y .. here is a LONG list of changes since version x.y-1, you figure it out".
The temp-test-ioccc repo is a fork of the official IOCCC repo. We choose to work on a forked repo so that those visiting the official IOCCC repo won't have to put up with broken links, experiments, changes in directions, and project evolution that happens with a rapidly evolving project.
When the resulting web tree for temp-test-ioccc repo is reasonably coherent, we plan to the great fork merge, updating the official IOCCC repo with all of the commits (currently 4033) that were applied to the forked temp-test-ioccc repo.
We release that some might prefer the more infrequent "release cycle" process where some version "x.y" release represents a set of changes as a single commit. Indeed we have repos where this unfrequent "release cycle" process is done: where more infrequent beta tests are pushed onto the master branch for testing across platforms and where an even more release process points to a rollup snapshot of the repo.
Too may activities in parallel are going on. Too many things are in an indeterminate stage with stuff broken and being fixed to call any point something worthy of a release.
Until the above mentioned *great fork merge is performed, there is nil reason to release anything.
The list of reasons is incomplete: the above list is just a partial list.
In the post-great fork merge future, this will be different
Once this temp-test-ioccc repo is in a reasonable shape for public use, this forked repo will be merged back onto the official IOCCC repo.
We PROMISE that the official IOCCC repo will evolve more slowly. Changes, other than the commit for annoying winners of a new IOCCC will be MUCH LESS FREQUENT. Unless there is some super urgent reason to process a pull request ASAP, we will take a more gradual approach to updating the official IOCCC repo.
You might say "but I don't like it". Well we say, sorry you don't like it, but for reasons stated above, and other reasons, this is the way it is being done in the temp-test-ioccc repo is a fork of the official IOCCC repo.
There exists methods to process and filter the many commit messages that come from a very active repo such as the temp-test-ioccc repo. We suggest you consider using such filters if you want to track the active temp-test-ioccc repo. Otherwise we recommend you wait until the great fork merge is performed and track the official IOCCC repo instead.
In conclusion
You may agree or disagree with the above choices. But the is the way the temp-test-ioccc repo is being worked on now.
It will be easier to monitor the official IOCCC repo in the post-great fork merge future. It will be easier for others to offer pull requests, and for non-urgent changes to the official IOCCC repo to come out in a more gradual basis.
Thank you for understanding, or at least for listening to our reasons.
Beta Was this translation helpful? Give feedback.
All reactions