Migrate from google code to github or bitbucket in easy steps

Migrate from google code to github or bitbucket

Google code disappears

Repent, the end is near. Google has just announced that they are shutting down google code project hosting. In the email of the announcement they make some suggestions to find a new house for your code such as bitbucket or github. I hope that they have been warned in order to be ready for a massive repository creation from the upcoming exodus of coder refugees.

At the time of writing this, there is a button to automate the migration only to github but it is NOT working due to the high amount of traffic and workload that they are experiencing.

But you can still move your stuff manually. Here are some easy-to-follow steps to move your code from google to github just using your command line.

0 .Go to google code

It is not as obvious as it may seem. Once you log in google is impossible to find a simple link to see your projects. Google is not specially good at usability, but hey, when your shares are valued at >500$ who gives a fuck. Nevermind, go to https://code.google.com/hosting/ and check My favorites

1. Checkout project

Enter into the project you want to migrate and select Source. Copy the command to checkout your code, with read-only is enough.

For example for: http://code.google.com/p/erps-2dam-4vientos/

Go to source and:

svn checkout http://erps-2dam-4vientos.googlecode.com/svn/trunk/ erps-2dam-4vientos-read-only

2. Do some cleaning

Enter the directory and erase all svn files

find . -type d -name .svn -exec rm -rf {} +

Remove any other unnecessary stuff, binaries, jars,.. and the like.

3. Create repo on github or bitbucket

They both have free repository services, sign up and you can create repos.

4. Clone the repo

Once your repo is created they will provide you with a clone url or even the exact command you need to clone the repo locally.

git clone http://clone...

5. Copy files to your local git project directory

Move/copy files from your google-code local copy to git local copy.

mv google-code-dir/* git-project-dir/

6. Add and commit code

Now it's time to add to git the newly copied code files. You can achieve this with to easy commands, Bob Marley style:

git add *
git commit -m 'Exodus: Movement of Jah people! Oh-oh-oh, yea-eah!'

7. Push to remote

Final step to have your code online again and safe for [hopefully] [some] years to come. You'll be prompted to enter your username and password.

git push origin master

Greets for you, lucky bitbucket user. Your nice arse is safe at the moment

by Pello Altadill 03/13/2015 10:17:53 - 425 hits

Vagrant: hello box, thank you for coming

Vagrant is a virtual machines management tool that allows us to easily create, run, configure and share customized virtual systems. The main goal of Vagrant is to provide a centralized way to share preconfigured virtual machines for software developers. In development teams, all members must share not only and up-to-date project source, but also the same system configuration: database management systems, w...

by Pello Altadill 08/13/2014 00:35:34 - 3132 hits

More »

Persistent session control in Node.js with express 4

In this series of posts I'm trying to show, in the simplest way possible, how to develop a web application in Node.js adding all the features that in other environments we take for granted: database access, form validation, i18n, and of course session management. Express is the framework of choice for this purpose, the problem is that maybe many information you find out there may be deprecated or useless since express 4 was released. Here I'm trying to use the latest (express4) and the coolest, but in an...

by Pello Altadill 08/03/2014 00:08:50 - 6307 hits

More »

Node.js internationalization and form validation

In any application, no matter the languages or the environment you are using, it is always necessary to ensure that all data is validated before we try any operation. It's tedious, boring and maybe you prefer to focus on more interesting things but you may fear not only hackers, but also the users who from time to time become true hackers without been really aware of it: just applying unexpected input. For instance a form field could ask for the zip code and a regular user could answer (sincerely) 'I don...

by Pello Altadill 08/01/2014 00:27:41 - 7520 hits

More »

Keeping Node.js app.js clean + custom middleware for express

This post has two purposes: to continue the previous one showing ways to improve the organization of routes and secondly to see how to add your own middleware to an express application. The previous version have a problem when it comes to the routes. We require all of them with a single requ...

by Pello Altadill 07/26/2014 23:03:41 - 4601 hits

More »

Node.js + express routes + mongoose, simple and separated

There are plenty of examples out there explaining how to develop a webserver in node.js using the express framework. There are also great books like Professional Node.js and Smashing Node.js introducing details about express among many other topics. But there is also, imho, a big problem: all of them show different ways to solve the same problem. In addition to that there were changes in the framework (Express has recently changed to version 4) and some documentation and samples could be deprecated, so if y...

by Pello Altadill 07/23/2014 23:45:40 - 5866 hits

More »

Setting different config files in Node.js

External config files When it comes to configuration options it is always desirable to avoid hardcoding config values in our code. Even more, if we are using different config values in development and production environments it is necessary an easy way to switch from one to another. This also becomes useful when your code is public but you want to hide some config files. In Node.j...

by Pello Altadill 07/22/2014 00:52:26 - 3435 hits

More »

Enabling basic authentication for MongoDB databases

MongoDB is extremely easy to install and run. If you are not able to make it work maybe you could feel more confortable using Access or even excel. Well, sorry for that. This short article is but a quick and dirty guide to enable basic authentication in mongodb, and how to create one database with its own user (not a superadmin) with just read/write permissions. If you run mongo...

by Pello Altadill 07/20/2014 00:37:15 - 5839 hits

More »

Python language basics

Python in 21 minutes (or so) For a developer is not enough to know one programming language, it is often said that is good to know many of them. After all the language is but a mere tool to build programs. Python has been around for many years and one of my pending task was to take a look at it. Some friends (@Eugenia4v,@Claw_Shadow,@D00m3dr4v3n) are always tellin...

by Pello Altadill 07/12/2014 23:51:05 - 3626 hits

More »