Welcome to theMetaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress.Team!
The Meta team is responsible for maintaining and managingWordPress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization.https://wordpress.org/websites. Our work is mostly done on themeta trac. If you see a bug,file a ticket!
A large number of contributors strongly prefer working withGitGitGit is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system.https://git-scm.com/.. SinceMetaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress.projects are stored in SubversionSVNApache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/.and mirrored to Git, you can use either one to contribute.
The following workflow usesticket #986and the WordPress.tv theme as an example, but the same steps can be applied to anything in the Meta repository.
If you get stuck with anything, you can find lots of information by searching the Web, and if that fails, you can always ask for help in the #meta channel onSlack.
The Meta Environmentwill automatically provision many of the Meta sites for you, and uses Git whenever possible.
If you’d prefer, though, you can also manually setup individual sites or plugins/themes into your existing development environment. To do that, first you’ll need to setup a new WordPress installation the way that you normally would inside your local development environment. Once that’s done, we’ll clone the entire Meta repository,and replace the default wp-content folder with WordPress.tv’s content folder.
Before you start on a new ticket, make sure you’re working with the latest code by callinggit pull on thetrunkbranch.Then, start your work on a new branch and commit your changes to that branch.
It’s important to keep thetrunkbranch clean, and only make changes on a separate branch. You should keep separate branches for each ticket you work on.
cd wp-contentgit checkout trunkgit pullgit checkout -b 986
Now you can make your changes. When you’re done, commit them:
If you’re working on a non-trivial change, it may take several days or weeks to finish. Just make sure you keep thetrunkbranch updated, and frequently merge it into your working branch, so that you’re always working with the latest code.
Start by committing any changes you’ve made to your branch, then updatetrunkand merge it into your branch.
The Meta team usesTracto manage issues rather than a Git-aware platform likeGitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host,private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner.https://github.com/, so instead of sending pull requests, you’ll upload a patch toTracTracTrac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/..
When you’ve committed all your changes and you’re ready to submit your work, update the trunk branch one last time, and merge any changes to your branch. Then, generate a diff with the–no-ext-diffoption, to avoid any conflicts with external diff clients.
Sometimes you’re collaborating with other contributors, and you want to build off of work that they’ve done. If they’ve uploaded a patch to Trac, you can apply it to your local copy with the patchcommand.
patchcomes bundled with OS X and most Linux distributions, and is available for Windows as part ofCygwin.
You’ll want to use a fresh branch, because the patch will contain all of the changes against the original code; if you tried to apply it to a branch that you had an earlier version of the patch, you would have to resolve merge conflicts.
It’s best to start in whatever directory the patch was created in, so that the file paths line up. To determine where the file was created, you can examine the paths in the file. If the paths don’t match up,patchwill prompt you to enter the path to the file that should be patched.