Git Download Updater - Setup Documentation

The Git Download Updater extension supports both GitHub and BitBucket.

Connecting to BitBucket

To connect your Easy Digital Downloads website to your BitBucket account, you will need to add two definitions to your wp-config.php file:
define( 'EDD_GIT_BB_USER', 'email address' );
define( 'EDD_GIT_BB_PASSWORD', 'password' );
Replace email address and password with your actual account details. 

Note: BitBucket has recently updated their login to require the use of your email address instead of username. Replace 'username' with the email address associated with your BitBucket account.

Connecting to GitHub

To use GitHub, navigate to Downloads → Settings → Extensions → Git Updater. Follow the instructions there to connect to GitHub.

Configuring a Download with Git Updater

Setting Your Download Files

Once you have connected your website to either GitHub or BitBucket, you can add files to your Download products.

1. The "Download Files" metabox on the download edit screen will now have a checkbox labeled "Fetch download from a git repository." Check this box.

2. After a moment or two, a new set of fields will show up that will allow you to select a repository.

3. Search for the repository name, and then select the tag that you want to use.
Note: The Version Tag used in Git Updater is required to be a native git tag. It does not parse versions from your readme file. To learn more about using the tag feature in git, you can visit this guide.
4. Click "Fetch". When your download has been successfully imported from the git repository, the button will say "Fetched".
5. You can now edit the file and/or zip name if desired, or leave them as default. Your zip file is ready to go!
When you are ready to release a new version, simply select the tag you wish to use and click fetch. After fetching is complete, update your product.

Note: As of version 1.2, if you have readme.txt parsing enabled, the plugin will automatically copy the readme file (if it exists) from your repository and use it for parsing.

FAQs & Troubleshooting

How do I exclude or remove files before the zip is generated?

The Git Download Updater uses the 'export' feature of Git to build out the file to deliver. You can use the `.gitattributes` file to determine what files you want to ignore during the export. Here is an example of how we use it for EDD Core.

For more details on using git attributes to exclude files, see this tutorial.

Update conflict between free and paid version

There are two different ways to resolve this issue:

  1. Change the name and/or slug of the pro version. Because of a nuance with the WordPress update API, WordPress cannot actually distinguish them as separate plugins.
  2. Add "wp_override" to the third parameter of the EDD_SL_PLugin_Updater class when it is instantiated, like this:
// set up the updater
$edd_updater = new EDD_SL_Plugin_Updater( EDD_SAMPLE_STORE_URL, __FILE__, array(
		'version'     => '1.0', 				// current version number
		'license'     => $license_key, 		// license key (used get_option above to retrieve from DB)
		'item_name'   => EDD_SAMPLE_ITEM_NAME, 	// name of this plugin
		'author'      => 'Pippin Williamson',  // author of this plugin,
		'wp_override' => true
	)
);

Note: this requires v1.6.4 of the plugin updater class.