Thursday, July 31, 2008

Distributed development without commit access

When I started hacking on the pytrainer source, I decided that I was going to have to solve the issue of being able to keep track of serious patches without having commit access to the main project's subversion repository. In the past few years, many interesting distributed development tools have emerged and become mature. I'm a practical programmer, so without doing a scientific study of each tool, I decided to stop once I had the tool which annoyed me the least and supported the kind of workflow I am going to be employing.

The basic strategy is this:
  1. Somehow make a copy of the main SVN repository locally.
  2. Make changes.
  3. Commit to my local repository.
  4. Update my copy of SVN, merging my changes.
  5. Publish diffs back to the core developers.
  6. Goto 2.
Since pytrainer uses subversion for the main repository, I figured that the natural choice would be SVK. SVK essentially uses subversion under the hood to let developers work in a distributed environment, make detached commits, etc, etc. This is the kind of thing I wanted, but after trying to use SVK I was very disappointed. I think SVK probably works just fine when it's what everyone on your team uses, but I am playing the role of the rogue patch hacker who is not a core developer but occasionally works like one. To use SVK for my work, I need to make a mirror, sync it, copy that mirror to a local copy, check out that local copy, and only THEN could I start working. This also assumes that I haven't screwed up all of the depotmap naming (which I did). SVK also breaks with traditional source code management (SCM) by requiring you to do something like "svk co -d workingcopy" if you want to get rid of it.

Moving on, I found git-svn. Rather than say much about git other than that I have currently found the tool for me, I will give a sample command-line session to get things running:
git svn init -s http://www.e-oss.net/svn/pytrainer/
git svn fetch
git repack -d
git checkout -b kevins_patches
And then typical workflow:
# Edit some files
git commit -m "Fix crash"
Want to get up-to-date? Rebase:
git stash # Put your changes away
git rebase # Pull down the newest code
git stash apply # Apply your changes
git-svn works for me.

Tuesday, July 29, 2008

Google lets SSL cert expire

Google let the SSL certificate for smtp.gmail.com expire today. Mutt started complaining when I tried to send an e-mail. Luckily, it allows you to ignore the warning and keep going. Unfortunately for others, their MTAs and MUAs may not be so flexible (a recent thread on the dclug mailing list made that evident). Hopefully they will fix it. Hopefully it's not a snub at those of us who aren't using the gmail web interface full-time.

RIP Bryant Park Project

And I just figured out how to even use these podcasts. The few episodes of The Bryant Park Project that I did listen to were great.

Sunday, July 27, 2008

How not to publicize your "community driven computer vendor"

I've noticed an annoying trend on craigslist. Whenever I put up one of my used PCs for sale and mention that I have loaded Ubuntu on it, I will, without fail, receive an e-mail from Ronnie Whisler with the subject "u might like this" and the body "www.buntfu.com a place for your linux pc." Mr. Whisler started his site in February this year (under a new name) and has been spamming it for months now (I received spam from him in May, June, and July).

Realizing that this might not be a normal spammer due to the high level of targeting and personal treatment from the proprietor of the advertised company, I opened a dialog with Mr. Whisler. After ignoring the first spam, I replied to a later one asking him to stop. His reply is rather similar to other posts I've found from him on the interwebs. His defense is that he's "not a huge company with deep pockets" and that he didn't mean to offend. While I suspect that both are true, neither of them defends this kind of behavior. My substantive reply:
"I've received a couple of these from you, and I told craigslist to put a notice on my postings saying that it's not OK to contact me about other services or commercial interests. It seems that you're simply ignoring that which very rightly constitutes spam. I don't know about others, but I personally don't respond well to companies that spam me. You should tread carefully when advertising your site, especially since it's seems to be a site aimed at the tech savvy."
Naturally concerned about his small web site's reputation, he quickly replies:
"understood and appreciated i will change my approach immediately i am certainly not trying to upset anyone."
Well, Ronnie, no I don't think you understand and I'm not sure you appreciated my comments. You have not changed your approach and you have upset me. Since my google searching did not turn up any negative comments about your advertising practices, I'm putting this out there for any future buntfu.com researchers.

Saturday, July 26, 2008

pytrainer needs some work

And I've been doing some of it. Contact me for patches.