GitHub make licensing changes with all core features now free for everyone

GitHubGit hub have recently announced changes to their licensing, so that everyone now has free access to all core features. This includes unlimited collaborators in private repositories.

The key changes are:

  • GitHub Free for organizations is immediately available and includes private repositories for unlimited users
  • All organizations previously using Team for Open Source now have GitHub Free
  • GitHub Free for individual developers now includes unlimited collaborators
  • Organizations and individuals using GitHub Free will receive GitHub Community Support
  • GitHub Pro will now include 2GB of Packages storage and 10GB of data transfer
  • GitHub Pro now has reduced the monthly price from $7 to $4
  • GitHub Team now has reduced the monthly price $7 to $4 per user with no minimum seat requirement
  • GitHub Team will include 3,000 Actions minutes per month for private repositories after May 14

All details on the changes are available from the FAQ about changes to GitHub’s plans.

ClassicPress Development with GitHub: Creating release zips

GitHubWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with GitHub.

In the last post of this series, when discussing creating a release, I mentioned that you should upload a zip file containing the release code.

While users can download the source code directly, this will leave -master on the folder name. By creating a release zip, you can avoid this.

I have developed quite a few plugins for ClassicPress and have instances where I make changes to several plugins for release at the same time. To make this easier, I have a Windows batch command which will call 7-zip to compress all folders, in the same folder as the batch file, as zip files:

for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a -xr!.git\ -xr!*~ "%%X.zip" "%%X\"

I didn’t create this command line statement all on my own, but think I might have added the argument to exclude files with a .git suffix. Unfortunately, I started using it a few months ago and do not remember from where the original script came.

ClassicPress Development with GitHub: Create Release

GitHubWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with GitHub.

When developing with GitHub, you can make a release; this is a way of grouping together all of the changes since the last release to make it easy to download that particular code set. One point to note, is that while GitHub will automatically create a zip of the source code, this isn’t suitable to use for a ClassicPress release as it will include -master in the contained directory name. However, you can upload a zip file containing the code in the correct folder.

To create a new release, load the repository page on GitHub and click the releases button (red ringed):

Repository page

Continue reading “ClassicPress Development with GitHub: Create Release”

ClassicPress Development with TortoiseGit: Revert Last Commit

TortoiseGitWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with TortoiseGit which is a sub-series of the ClassicPress Development with GitHub series.

When you have changes committed to GitHub, you need to make a release of your plugin. Making a release has two main benefits:

  1. It labels the files in the repository with a tag making it easy to download a particular version of the plugin.
  2. You can upload a zip file containing the plugin folder giving a zip file which users can download and upload to their ClassicPress site.

To create a release, open the GitHub repository page and click the releases link at the top (ringed in red):

Github repository

Continue reading “ClassicPress Development with TortoiseGit: Revert Last Commit”

ClassicPress Development with TortoiseGit: Commit

TortoiseGitWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with TortoiseGit which is a sub-series of the ClassicPress Development with GitHub series.

Once the repository has been cloned and changes made, you need to submit the changes back to the repository to keep control of changes. This is referred to as a “commit”. To commit your change, right-click the folder (or file) to commit and select Git Commit -> “master” on the context menu:

Git Commit

Continue reading “ClassicPress Development with TortoiseGit: Commit”

ClassicPress Development with TortoiseGit: Clone Repository

TortoiseGitWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with TortoiseGit which is a sub-series of the ClassicPress Development with GitHub series.

With TortoiseGit installed we can start using it for managing source control on projects. The first thing you will want to do is to make a copy of your GitHub repository on your PC so you can amend files. In TortoiseGit terms this is done by cloning the repository.

On my local PC I have a folder called Plugins into which I want to close a repository. To do this, right-click the folder and select Git Clone from the context menu:

Right-click menu showing the clone option

Continue reading “ClassicPress Development with TortoiseGit: Clone Repository”

ClassicPress Development with TortoiseGit: Update

TortoiseGitWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with TortoiseGit which is a sub-series of the ClassicPress Development with GitHub series.

TortoiseGit is like any other application and should be updated when an update is available. Fortunately, it comes with automatic updates includes. You will receive a popup telling you there is an update available; click Download to download the new version:

Check For Updates - TortoiseGit: New version available

Continue reading “ClassicPress Development with TortoiseGit: Update”

ClassicPress Development with TortoiseGit: First run

TortoiseGitWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with TortoiseGit which is a sub-series of the ClassicPress Development with GitHub series.

On the last stage of installing TortoiseGit had the run First Start Wizard marked. When the First Start Wizard launches, select your language and click Next:

First Start Wixzard - TortoiseGit: Welcome to TortoiseGit

Continue reading “ClassicPress Development with TortoiseGit: First run”

ClassicPress Development with TortoiseGit: Install TortoiseGit for Windows

TortoiseGitWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with TortoiseGit which is a sub-series of the ClassicPress Development with GitHub series.

With Git for Windows installed, we can move onto installing TortoiseGit itself. TortoiseGit can be downloaded from here:

Download TortoiseGit

Continue reading “ClassicPress Development with TortoiseGit: Install TortoiseGit for Windows”

ClassicPress Development with TortoiseGit: Install Git for Windows

TortoiseGitWhen I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with TortoiseGit which is a sub-series of the ClassicPress Development with GitHub series.

A key prerequisite for installing TortoiseGit is an already installed (command line) Git client which provides a git.exe. The recommended one if Git for Windows which is, the only one, used by the developers of TortoiseGit. The application can be downloaded from Git for Windows:

Download Git for Windows

Continue reading “ClassicPress Development with TortoiseGit: Install Git for Windows”