View on GitHub

A Visual FoxPro community site for open source add-ons

Home Projects License Posts Project Managers Add a Project Admin About

Migrating a Project from CodePlex to GitHub

There are several steps you must perform to migrate a project from CodePlex to GitHub. Fortunately, they aren’t very complicated.

1. Install Git

Note: this step is not required if you are going to use the “fast way” to upload code to GitHub (discussed later).

If you haven’t already, install Git on your system.

You may also wish to install Tortoise Git, which provides a visual interface for Git.

Another tool you may find useful is the OctoTree extension for Chrome, which provides an easy-to-navigate code tree for GitHub repositories.

2. Create a GitHub Account

If you haven’t already, create a GitHub account on the GitHub home page.

3. Get the Source Code

The best way to do this depends on whether the project was included in the source code repository on VFPX or not. If you’re not sure, click Source Code on the VFPX home page and see if the project has a folder.

The project IS included in VFPX source code

If you use TortoiseGit:

If you don’t use TortoiseGit, open a command window and type:

git svn clone --log-window=4000  "https://vfpx.svn.codeplex.com/svn/FolderName" "LocalFolder"

where FolderName is the name of the folder on the Source Code page of VFPX and LocalFolder is the path on your system where the repository should go. The clone process takes a while, so be patient.

The project IS NOT included in VFPX source code

If you have the latest version of the source code on your system, use it. Otherwise, download the latest release from CodePlex and unzip it into a new folder.

4. Migrate the Wiki Page

Once you’ve uploaded your project to GitHub, the content of this file, which contains text in Markdown format, appears automatically on your GitHub repository page.

Edit README.md. You can use a text editor such as Notepad but we recommend a Markdown editor such as Rick Strahl’s Markdown Monster. The content likely needs some editing. Here are some issues we’ve found:

Some other suggestions for the content of the README.md file:

5. Create a GitHub Repository

Your project can either be a repository under the GitHub VFPX organization or it can be a completely separate repository. The advantage of being under VFPX is that projects are automatically listed on the VFPX site, https://github.com/VFPX. However, all projects are listed on the VFPX projects list, https://vfpx.github.io/projects, so this isn’t necessarily a big advantage. The advantage of having the project in a separate repository is that you have full control over that repository, including who has push access.

Creating a Repository Under VFPX

Email VFPX project admin and ask us to create a repository under VFPX for your project. We’ll need to know your GitHub user name so we can give you permissions to the repository. We’ll create the repository and let you know when it’s ready.

Creating a Separate Repository

Create a GitHub repository and email VFPX project admin with the URL for the project so we can edit the project list with the new location. If you’re going the use the “fast way” to upload the source (discussed below), be sure to turn on the Initialize this repository with a README setting.

6. Upload the Source Code

You have a choice about how to upload the source to GitHub:

Instructions for each of these are below.

From SVN

If you installed Tortoise Git:

If you don’t use Tortoise Git:

The Fast Way

The Complete Way

First, unzip the source code ZIP file on your system if you downloaded it from CodePlex.

Next, if you haven’t already, create text equivalents of your VFP binary files (PJX, VCX, FRX, etc.). There are several tools available to do this, including FoxBin2PRG.

Since files on GitHub typically have lowercase names, you may wish to rename your files to follow that standard (not a requirement, just a suggestion). Bulk Renamer can help with that.

It is important to set Case (4) to Lower, Extension (11) to Lower, turn on Subfolders in Filters (12), and select all the files and folders except README.md before clicking the Rename button.

If you installed Tortoise Git:

If you don’t use Tortoise Git:

7. Update CodePlex

Edit the project’s Wiki page on CodePlex and add a comment that the project has moved to GitHub, including a link to the project’s GitHub repository; something like this using Wiki markup:

!! Note: this project has moved to GitHub: [url:https://github.com/RepositoryName]