Project

Profile

Help

Task #4444

closed

Move pulp/pulp to pulp/pulpcore

Added by bmbouter about 5 years ago. Updated over 4 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Sprint 49
Quarter:

Description

Problems

Having the pulp/pulp store the pulpcore code creates a few issues:

Confusion. The pulp/pulp repo holds both pulp2 and pulp3 on different branches. This means that pull requests are mixed which causes us to need a lot of labels to distinguish the two at PR review time.

Tags and Releases issues. We want the repo forpulp3 to cleanly show the releases (even the pre-releases). If you look at the Pulp releases page it has 1891 releases (a crazy unbelievable number). https://github.com/pulp/pulp/releases We should leave all these old tags from pulp2 behind and only have the pulp3 tags in the source tree

Naming convention isues. The pulpcore-plugin is the PyPI package name and the repo name is pulp/pulpcore-plugin. For consistency the pulpcore PyPI package name is expected to live at pulp/pulpcore.

Solution

Create a new repo called pulp/pulpcore and make pulp/pulpcore:master contain the HEAD of pulp/pulp:master. Also push all pulp3 tags which should all reference commits in the history of pulp/pulpcore:master.

What about pulp2?

The pulp/pulp:2-master branch is left undisturbed so that release engineering can continue to build from it, and the open PRs against 2-master can remain undisturbed.

the plan

On Thursday Feb 28th at 5pm UTC the cutover will happen. Specifically bmbouter will do the following steps:

1. create a new repo at pulp/pulpcore
2. fetch the latest HEAD from pulp/pulp:master (the refs of pulp3) and push to the pulp/pulpcore:master branch
3. Move the tags starting with 3.0.0b* from the pulp/pulp repo to the pulp/pulpcore repo
4. Confirm with another developer that the refs and tags are moved to the new repo
5. delete pulp/pulp:master and make the default branch for pulp2 2-master.
6. Delete the pulp3 tags from pulp/pulp
7. Handle moving PRs (see below)
8. Send a notification to pulp-dev and irc with info that users can update their forks.
9. Ensure Travis is enabled and running on the new repo.
10. Fixup any other Pulp organization repos that were using source checkouts.
11. Update the pulp/pulpcore PyPI encrypted publish credentials to match the public key of the new repo

Moving PRs

It's a 3 step process done by bmbouter. You can't 'move' PRs between repos. You can open a PR from any repo to any repo. I tested this for the Pulp repos just now. Here are the steps:

1. The Pulp3 PRs on https://github.com/pulp/pulp/pulls that target master branch will be manually closed.
2. A PR will manually be opened for each closed PR to redirect those code contributions to the new repo.
3. A note will be left on the old one with a link to the new one so everyone can see

Fixing forks and checkouts

It should be these steps:

1. Fork a fresh copy of pulp/pulpcore
2. Clone from your fork

Optionally, if you no longer need your pulp/pulp fork and local clone, delete them.

Also available in: Atom PDF