nunit-console icon indicating copy to clipboard operation
nunit-console copied to clipboard

Rename main branch to version3, version4 branch to main

Open CharliePoole opened this issue 11 months ago • 3 comments

@nunit/engine-team Actually, I'm debating whether to do this and looking for input

Reasons Pro...

  • We're developing V3 and V4 at the same time, so only one can use main
  • It's difficult to remember to always merge to Version4
  • V4 merges do not auto-close
  • The two have a slightly different directory structure, which may deviate further, giving you both sets of folders in the working directory unless you make a special effort.

Reasons con...

  • It's a change from past practice with V2 and V3 (but not V1)
  • It may be slightly more difficult to port changes from one to the other (although I often have had to rewrite them anyway)

The business with the directory structure has cost me a bit of time. If we keep the two in the same repo, I plan on setting up separate working directories and I'd suggest that for others as well.

I'd like to decide on this one way or the other rather quickly. How would you prefer to work?

CharliePoole avatar Dec 16 '24 07:12 CharliePoole

The only downside I see is the lack of cherry-picking. It therefore depends on how much work we expect on V3. Only bug fixes or also possibly new features? If the work on V3 is little, make V4 the main branch.

In these cases, I would have two cloned repo's locally. Like I have for nunit(.framework) V3 and V4. This allows working in separate branches and directories and comparing difference between versions, both in source and test outcomes.

So, I'm happy either way.

manfred-brands avatar Dec 16 '24 08:12 manfred-brands

Good point... we could move as much as needs to be moved and then switch main (again).

V3 - V4 ports are done through 3.16.2 AFAIK. Most of the ones I worked on couldn't be cherry-picked because the two branches had already diverged too much. I just looked at what had changed and adjusted it to fit. Even so, it's handy to have when you can use it.

I'll take a look at how much that's changed since 3.16.2 is relevant to V4 - many things may not be.

CharliePoole avatar Dec 16 '24 08:12 CharliePoole

We'll keep the same repo. I have renamed the issue to reflect the decision and marked it as blocked. We won't do it until we believe there will be no more minor 3.19 releases.

CharliePoole avatar Dec 21 '24 16:12 CharliePoole

@nunit/engine-team

I'm ready to make this change now as one of the first post-beta.1 changes. Let me know if there's anything you believe should be finished first.

CharliePoole avatar Jun 28 '25 01:06 CharliePoole

@nunit/engine-team @nunit/core-team

This is done now. Our main branch now refers to V4, the new version3 branch refers to V3.

My hope is to do most work on V4 from this point on.

I tried to choose a quiet time to do this but please update your local environments if you need to, i.e. if you have any work in process based on either branch.

CharliePoole avatar Jul 01 '25 15:07 CharliePoole