It's happening! We've moved to a better home and using new technology (mercurial) to manage our code.

This is going to mean a few changes to our development process, but I don't think we will have too many growing pains. There are still some unanswered questions, like if we want to really manage pull requests or let every developer have write access to the central repository, but we can figure out what works best for us as we go along. In the process of this transition, I deleted all the old branches in the subversion repository because they really weren't useful any longer, and I wanted to start our Mercurial repository with a clean slate. Unfortunately, we lost the release tags made to our subversion repository in the transition as well. I don't think this is a huge loss, and we can re-tag them if really care to do so.

The repository on sourceforge is now in read-only mode. No one has access to write to it, not even myself (although I have the ability to restore write-access for anyone). You should no longer try to commit code there, and should no longer be able to do so anyway. The project page on sourceforge will remain for now, but eventually I plan to edit this page to point to the new home on bitbucket, and will probably remove all the release files as well due to sourceforge's new habit of distributing malware in release project binaries. As I mentioned on the front page of the site, I plan to take offline our old bug tracker at bugs.allacrost.org and use bitbucket's issue tracker instead. This will be easier for us, because maintaining the bug tracker was just one more thing we had to do that I would rather not spend our time on. We'll see how things go.

Everything is still in a state of flux, so changes will keep happening for a while until we've settled into our new groove. Documentation pages need to be updated, etc. I'll try to keep this thread updated with any important developments. If you have any questions related to this transition or new development processes, please ask away.

Made the first commit to the repository tonight and moved the results all the way up to the central repository. The process consisted of:

hg commit - Same as svn commit. Commits changes to your local repository checked out on your machine.

hg push - Uploads all of your commits to your personal repository on the BitBucket server

Create pull request - From your personal repository page, click this button and enter a message about what your changes do. This requests moving those changes to the central repository[*}Approve pull request - Users with write access to the main repository can review the pull request changes and choose to merge them or reject the changes[/list]

So in this case I approved my own pull request. I'm not sure if there's a way to auto-approve a pull or not. There are some more steps to this process to get your code into the main repository, but it is really nice to be able to make local commits without worrying about messing with what other people are working on. In the past when we were working on big features, there were a lot of problems due to having only a single repository. The other nice thing is the interface. BitBucket has a really nice and intuitive design, and it was really easy to figure out what to do.

I also loved the ability to add a detailed message in the pull request that shows the files changed and a full diff easily available. I think that this is going to make the commit log threads that we've used on the forums pretty much obsolete. I'm going to delete the new commit log thread I made earlier today because I really don't see a reason to keep it, or a good way to re-use it.

TL;DR: I'm really liking working with BitBucket and mercurial, and I think it's going to really improve our development process.

Added this new page to our wiki today. It replaces the old page about the usage of the subversion repository. I tried to make this page as straightforward as possible. A nice benefit of our new development process is that now we don't have to be careful about granting new developers write access, since they can fork the main repo and make all the changes they want, then have to submit a pull request in order for those changes to be approved.

I'll probably be making other changes around the wiki related to this as well in due time.