Category Archives: Tools

Publishing Git Repositories

Dear Lazyweb,

I’ve been using git for a while for most of my projects, and I love it. It’s fast, powerful, and it’s actually quite simple to use. Whenever I start hacking on something, even if it’s just a little utility that will never see the light of day, I generally initialize a git repo and hack in there.

But my question is, what do I do if I want to make that repository public? I want to create a ‘bare’ repository (e.g. without any working directory files) on a public server that I can push to, and that others can pull from and push to. I would have expected some command like git clone --bare ./local-repo ssh://remote-server/remote-repo, but that doesn’t seem to work. Am I overlooking something obvious?

GDB slowness

Since I’ve been hacking on the Nemiver debugger, I’ve been doing a lot of faux-debugging (i.e. start up debugger, step through a few lines, shut down). One thing I noticed very regularly was that there were times when I’d step into a function (usually a function defined in an external library), and gdb would grind away for several tens of seconds at 100% cpu before it finally arrived at the next instruction. Apparently this generally only happens on Debian-based distributions due to the fact that debugging symbols for ld.so are not shipped by default. Installing libc6-dbg solves this problem since this package also includes the symbols for ld.so. But it would be nice if debian-based distributions (in my case, Ubuntu) would automatically install debugging symbols for ld.so as a dependency of gdb, since without these symbols gdb becomes nearly unusable. So if you’ve been frustrated with a slow gdb on Debian or Ubuntu, do yourself a favor and install libc6-dbg.

Colorscheme 0.3.90 Released

Well, I’ve finally made another release of Colorscheme. I had put it on the back burner for a bit while I was doing a bunch of work on cairomm and gtkmm. But now I’m back working on it with a vengeance. A big part of why I’m excited to be hacking on Colorscheme again was my decision to switch from subversion to git. Subversion is a decent program and a huge improvement over CVS, but it just doesn’t feel quite right. I feel like I have to work around it. With git, I’ve felt much more comfortable. Granted, it’s pretty rough yet in spots, but it’s come a long way from what I thought it was going to be. The main motivation for moving Colorscheme to git (instead of bzr, which I would have otherwise chosen) was the fact that the cairo library is moving to git, so I wanted to get a feel for how it worked, with a view toward moving cairomm there as well.

I still have a bunch of things to figure out — the most important being: How do I host the git repository so that it can be easily accessed by other people? Right now I’m just rsyncing my local repository to the download/release area, so theoretically people can clone my repository over plain http and work on it locally, but there’s no good way for potential contributors to commit to it or to host their own repositories at the project site. Granted, this is sort of a theoretical issue yet, since I don’t have many contributors other than translators at the moment, and repository access isn’t as critical for translators.

But back to the topic at hand: the new Colorscheme release. There’s a bunch of new stuff in this release, including:

  • Added basic drag and drop support
    • You can drop from any application that provides an application/x-color
      target (such as the Gimp color selector)
    • You can drag a color from Colorscheme to any application that accepts a
      text target (e.g. Gedit) or an application/x-color target (e.g. the
      Gimp or the GNOME desktop background)
  • Added the ability to export your favorite colors list as a Gimp Palette
    file
  • Remembers your last viewed color and automatically loads it on startup
  • Remembers your window size between sessions
  • Added support for pasting a textual description of a color from the
    clipboard. Supported formats include hex string style colors (e.g.
    #FFFFFF) and all named colors that are understood by Gtk
  • Add support for selecting multiple colors in the favorites list for
    removing multiple colors at once
  • Removed dependency on GnomeVFS
  • Added dependency on GConfmm

This release is indended to be a preview release leading up to an official release of 0.4.0, so please test it out and report any bugs you find. Translations are very welcome as well.