A few days ago, as mentioned, I initiated the process of moving TransProCalc onto google code
, feeling that it was time to dust off the project and move forward with it. I had merely signed the project up at that time, so, last night, before my brain turned to complete jello after spending the day slogging through the translation of some pretty heavy Brazilian academic articles, I took some time to configure the google code pages for the project, make a couple of wiki pages, upload the current, stable release, and, upload the existing code for the project.
Now, google code offers two version control systems, Subversion
. I've never used either one before, but, at least I've heard of Subversion, so I chose to go with that one. It is, apparently, the default system, Mercurial offered as an option. I have used CVS
So, I aptitude installed subversion (svn) on from the debian/lenny repos, and set about trying to import my code for the first time to the project.
The instructions on the google Subversion FAQ
for importing your code are rather succint.
Just use the 'svn import' command.
So, the first thing I did was, logically, try to read the man page. Now, people frequently complain that man pages are written for the hopelessly, inhumanly geeky, and not very useful for the rest of us (ok, I do write code, but I am far from being a real hacker, yet), that they are written in some secret language, and that they are generally useless. Of course, those in the know say to read them, and find them rather useful. I confess, I have actually come to the point where I can make sense of some man pages. I'm not even ashamed to admit it. Some of them are insanely usefl (ncftp, for instance, has a very thorough man page). So, I called up "man svn".
This is what I got:
svn - Subversion command line client tool
svn command [options] [args]
[sarcasm]That certainly cleared everything up for me...[/sarcasm]
How about explaining the options? What args? Hello!
I tried "svn help", and that gave me a list of commands, as least, but with no explanation of how to implement them, or what they did, what options or arguments could be passed to them... Folks, the Subversion project needs documentation writers. No doubt. So, I did the next natural then, and did some googling.
In defense of subversion, I must say, they have an entire book/manual for Subversion
, available to be purchased in print, or read online for free.
Of course, the instructions I found in said book was that in order to import my code to my google code project, I was a bunch of garbbledy-gook, and said nothing of importing to a remote repository, only creating a repository on a local machine. I needed to import my code to a remote repository.
I did some ranting on some forums, to no avail of course (ah, but the sweet release of venting...), and did some experimenting.
I ended up resetting the repository a total of about 4 times, before I finally managed to figure out how to a) set up the svn repo at my end, b) import the code to google, and c) check in and check out.
So the code is up there, now.
Now, there do seem to be instructions available for checking out and checking in. That's not too bad. But considering the complete lack of instruction on how to actually import the code of the first time, I thought I'd share the culmination of my efforts.
:~$ cd /path/to/project/files
:~$ svn import https://projectname.googlecode.com/svn/trunk/ --username yourname
There! Your code is imported to the svn repo... I know looks simple, but there was nowhere that I could find an explanation thereof.
(okay, it might as well be martian to some of you, dear readers, but those who right code and participate in open source software projects will understand).
Happy? I am.
is now up on google code and ready to start a new life. I actually made a few minor changes to the code already, last night, before loading it up there, but not enough that I would call it a release or new version...just a little clean up, rewrote the install script, and, more than anything, a lot more commenting, since I'm hoping to have collaborators. Commenting your code makes it easier for others to find stuff and figure out what you're doing.
And, happily, I have a collaborator already! Anindita Basu
, who had previously written a manual for TransProCalc, has rejoined the project (it's been out of development for nearly 2 years, recall).ADDITIONALLY, TRANSPROCALC NEEDS TCL/TK DEVS!
Want to sink your teeth into an open source translation project management project? Check out TransProCalc
I have big plans for TransProCalc, many new features to be implemented, including but not limited to incorporation of a providers and client db, more user configurability of project parameters, and a calendar/reminder system to annoy you when invoices are due (either to you, or to your providers).
No time to work on any of that today, though...back to these articles...
originall posted to tony baldwin | bloguiando