Coder Social home page Coder Social logo

Comments (20)

mgerhardy avatar mgerhardy commented on June 10, 2024 1

I would prefer using main branch as main development branch - and create a version branch for each new version we release - for hotfix branches. I don't see the benefit of not using the default branch for development.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

Update: since it seems that we're back in active development, we should have some rules on how we contribute. Currently we're happily pushing to the default branch, adding new features etc - and we all know chaos will erupt in no time.

So we have a single monstrous PR (which i appreciated and merged) that lifts WoP to the current ioq3 - all fine here. The obvious problem is that it may or may not have introduced several bugs that we first should identify and fix before we start adding new features, such as the libtheora commit that introduces serious crashes (on Windows at least).

So can we please use branches and pull requests instead? In order to do so i'd propose that we create a new branch wop-engine/main from ioq3/main and set that one as new default branch, which would solve the renaming issue. We can then use the old "master" branch as dev-1.7 or something and cherry pick the smaller, unproblematic commits until we've fixed the bugs introduced with the engine update.

from worldofpadman.

mgerhardy avatar mgerhardy commented on June 10, 2024

We should please not use branches in this repo - but do personal forks and create pull requests. Otherwise the branch list in this repo will get quite crowed.
We should maybe also agree on some coding conventions and commit message guidelines.

from worldofpadman.

mgerhardy avatar mgerhardy commented on June 10, 2024

Commit messages:

It makes stuff a lot easier when we prefix the commit message with the subsystem or topic we touched. This is a good working approach of scummvm and makes it easier to follow for other contributors:

e.g.

CLIENT: Fixed issue PadWorld-Entertainment/worldofpadman#3

Please also don't use icons in commit messages - this might be fancy when reading in a ui - but on the console this is just noise and make things hard to read.

from worldofpadman.

mgerhardy avatar mgerhardy commented on June 10, 2024

Coding conventions:

There is a .editorconfig file checked into the repository. Please configure your IDE to use it.

If you re-format a code file, please make it a separate commit before you perform the real change - this makes it a lot easier to follow the real changes - and nobody has to waste time in reviews to tackle all the whitespace changes.

from worldofpadman.

mgerhardy avatar mgerhardy commented on June 10, 2024

Oh, regarding renaming from master to main - this change should be made asap - once more people cloned the stuff for local development, the hassle will get bigger.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

Ahh, notification spam!

We should please not use branches in this repo - but do personal forks and create pull requests. Otherwise the branch list in this repo will get quite crowed.

Of course PRs for minor things shouldn't have their own branches here. However, major changes that may introduce issues on the main branch ( such as the libtheora commit i mentioned) and that may involve other people, should be held in an extra branch in this repo, along with a PR as tracking issue, similar to the MSVC PR i created.
Also, since you've managed to import the SVN history (big thanks on that!), we can delete the several branches I've created for the different versions and rather tag them in the soon-to-be archive.

Please also don't use icons in commit messages

Honestly, using icons is immensely helpful to people using a UI to have additional information on the type of commit, but that's not a hill i want to die on...

Oh, regarding renaming from master to main - this change should be made asap - once more people cloned the stuff for local development, the hassle will get bigger.

Nobody will notice when we'll do what i mentioned above - just create a new clean branch main, keep master around until all of the 3 people who may have a local clone and are actively working have updated their branches. I just didn't do it yet because there was no feedback until now. I may as well just do it right now. Once we've done that, please commit to the dev-branch rather than main then. Thanks!

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

In my opinion, the main branch should reflect the latest stable release, so that you can build and run from there. Currently, the main branch is a collection of commits with countless unidentified and unfixed issues, nowhere near "working" quality. Of course we'd branch out once we've got something release worthy - we're just not even close right now.

from worldofpadman.

mgerhardy avatar mgerhardy commented on June 10, 2024

That's imo where version branches and tags are for. Github even has releases for this.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

latest and release are 2 different things. And you'd agree that everyone pushing to main will create chaos. The branches feature exists and can be used. On the other hand if you want to keep main as the only development branch, we'll need pull requests for literally every commit, similar to ioq3.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

Btw. since the repo just got renamed without warning and my IDE started yelling at me, we can set the new default branch just right now. yolo!

from worldofpadman.

robo9k avatar robo9k commented on June 10, 2024

Does the archive repo have shared history with this repo here? If yes, why not just have one repo and tag the old v1.6, v1.5, v1.2 releases?

I don't mind doing pull requests for things that someone is working on themselves and if we need more coordination then create a branch in this repo here.

That being said, I'm also on board with renaming the master branch to main sooner than later.
I'd also let it be the development branch. If someone is looking for historical commits, they should be able to find it with git tags here or in the archive repo. I don't think people visit this repo and go "ah but I expected the default branch to be the latest stable release from N years ago".

Regarding icons, I don't mind if they're used in addition to the subsystem/topic as @mgerhardy suggested, but I do mind if the whole commit message is just a single 🔥 emoji - that's not helpful.
We'd still have to document the allowed values for subsystem/topic/icon somewhere (CONTRIBUTING.md, #23 ) or even enforce them automatically.

from worldofpadman.

kai-li-wop avatar kai-li-wop commented on June 10, 2024

Go for the renaming from 'master' to 'main', if announced to all other coders (@mgerhardy, @robo9k, @seldomU) properly, so they know about the break before hand and can take action. I already renamed it, at least in the other new repos.

Regarding collaboration it is necessary to agree in a workflow and here I also prefer as @mgerhardy [suggested].(#14 (comment)) Everybody is working in the local repositories and send pull requests. This is also for me the best way to follow code changes and the corresponding discussion due to better visibility. Everybody has a chance to review and approve the code much better.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

I'm still unsure about the sudden rename of this repo to "worldofpadman" from "wop-engine". It is - and should remain - as the engine repo. Go on, create another one for the game itself, which then handles not only the automated creation of installers and holds distribution files, but also the issues related to the game (rather to the engine itself) that have been created here.
Meanwhile, i have already created a main brach like i mentioned in the 2nd post here and I'd start cherry picking from master then. The bases of the existing pull requests can be changed and I'd like to ask @mgerhardy to create another PR for libtheora against main please.

from worldofpadman.

robo9k avatar robo9k commented on June 10, 2024

I'm still unsure about the sudden rename of this repo to "worldofpadman" from "wop-engine". It is - and should remain - as the engine repo. Go on, create another one for the game itself, which then handles not only the automated creation of installers and holds distribution files, but also the issues related to the game (rather to the engine itself) that have been created here.

I don't get this distinction. The upstream ioq3 code base doesn't have it. The repo contains files that aren't even code. The engine and gamecode have mutual dependencies and thus versioning/release constraints.

Users don't care if issues are to be fixed in the engine or gamecode or elsewhere. On the contrary, if there weren't license and size problems, a monorepo for the whole "World of Padman" product would probably reduce micromanagement.

There's auxiliary repos such as the map editor support that have a slightly different life cycle, but even those could be merged into this repo here.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

Distinction is easy: engine means engine, which is what upstream reflects. To avoid any licensing issues and creating further mess, we can keep anything related to building the full game (such as assets/scripts, that are currently kept in /misc) and its related issues separate. It's only logical to me:

  • worldofpadman (full game releases and related assets, may require propriarity license)
    • wop-engine (the ioq3 fork, GPL)
    • wop-data (the game assets, may require propriarity or a CC license)
    • wop-mapeditor-support (unrelated to the game, but may be included in the full game releases)
    • etc.

Either way, this may require its own issue then.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

Anyway, I've created a new main branch with cherry picks from the current default and I'd like to switch to this branch now, so this is your final warning to update your local branches. :octocat:

from worldofpadman.

robo9k avatar robo9k commented on June 10, 2024

Distinction is easy: engine means engine, which is what upstream reflects.

There seems to be misunderstanding of what an "engine" is. The upstream ioq3 repo already contains both the engine and gamecode, even before it's been forked from the full id Software GPL release.
WoP code is not only gamecode ever since it switched from being based on Quake 3 Mod SDK to being a standalone game, which includes the engine.

As such the distinction of "wop-engine" doesn't make sense (anymore). The separate "gamecode" is only of historical interest.

All of the engine and game code (and possibly icons that are part of compiled .exe builds etc.) has to be licensed under GPL and as said already, is dependent on each other, so separate repos only increase maintenance burden and would mean we have 2 forks to keep in sync with the single upstream ioq3 repo.

Textures, maps, shaders or game-specific config files etc. are not code but assets. Like said, those should be a separate repo. Then again this repo might not even be public, so it could not be used for public issue tracking and users won't really care nor know if their issue is due to code or assets.

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

This repo still doesn't contain any assets, not should it. It's only part of "worldofpadman", aka, the full release and that name for this repo is misleading, Not to mention that there have already been issues created that are not relevant to this repo, but rather to the assets (maps).

from worldofpadman.

codemasher avatar codemasher commented on June 10, 2024

The default branch has been switched to main. I'm leaving the old default around for a bit longer until everything has been resolved.

from worldofpadman.

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.