I have been using Trac since ages and I like its simplicity compared to systems such as Jira but I must say it looks like a dinosaur compared to GitHub…
I like GitHub but I am also a strong believer that the web should stay decentralized and have been searching an open source alternative that I could host on my servers for a while.
The latest version of GitLab is a perfect solution for my needs: previous versions were focused on private projects but version 6.2 introduces the support for public projects that was missing in previous versions.
I have installed GitLab at https://gitlab.dyomedea.com/ and I have started using it to publish my presentation at XML Amsterdam.
My plan is now to slowly migrate my open source projects between Trac and GitLab and I have found a couple of Python scripts that may help for this process:
- https://github.com/neuhalje/hack-copy-track-issues-to-gitlab to migrate issues between Trac and Gitlab
- https://gist.github.com/sgk/1286682 to migrate wiki pages.
I have consolidated these two scripts and the result is available as trac-to-gitlab which is of course… published on GitLab!
One of the things I really like with git is that at the bottom of the network of changes you can see the initial history of the two scripts with the commit dates and names of their authors.
I hope that trac-to-gitlab may be useful to others and be similarly cloned into other projects!
Of course, comments, issues and merge requests are welcome.
Looks good. Been wanting to start doing this for a while, as we’ve started moving from Trac/SVN to Gitlab at work.
I need add some more documentation, in the meantime don’t hesitate to ask if you have any question!
Is your trac-to-gitlab link working? i am trying to migrate our trac into gitlab but the link you have above comes back with an error, “server is temporarily unable to service your request due to maintenance downtime or capacity problems”
thanks
Jonathan,
The server was down (I was upgrading GitLab to the latest version) but, yes, this link should be working.
Eric
thanks it is working now. does your latest updates support gitlab 6.5.1?
The latest updates have been done for GitLab 6.4 but I have added instructions to explain how you can generate a model for other versions.
Eric
Hi Eric,
I get this error when I try cloning this repo from your Gitlab instance:
$ git clone --bare https://gitlab.dyomedea.com/vdv/trac-to-gitlab.git
Cloning into bare repository 'trac-to-gitlab.git'...
fatal: unable to access 'https://gitlab.dyomedea.com/vdv/trac-to-gitlab.git/': SSL certificate problem: unable to get local issuer certificate
I’m looking forward to use it. For now, I fail with the following stack:
Traceback (most recent call last):
File “migrate.py”, line 222, in
dest_project_id = get_dest_project_id(dest_project_name)
File “migrate.py”, line 95, in get_dest_project_id
dest_project = dest.project_by_name(dest_project_name)
File “/home/debian/trac-to-gitlab.git/gitlab_api/Connection.py”, line 62, in project_by_name
projects = self.get(“/projects”)
File “/home/debian/trac-to-gitlab.git/gitlab_api/Connection.py”, line 68, in get
return self._get(url_postfix, keywords)
File “/home/debian/trac-to-gitlab.git/gitlab_api/Connection.py”, line 78, in _get
json = r.json()
TypeError: ‘list’ object is not callable
Any tips ?