Name: Federico Mena-Quintero
Member since: N/A
Last Login: 2007-06-28 00:26:55
Homepage: http://primates.ximian.com/~federico
Notes: I keep my diary here.
Wed 2008/Jul/23
I'm writing a little utility that generates Git repositories from some unpleasantly-formatted data. The test suite for this was really simple to write: you can simply ask git, "give me the SHA-1 hash that you have for the content" at the end of the test run (i.e. "git-cat-file -p HEAD" and parse out the "tree" hash from there). If the obtained hash matches your expected hash, then you know the test succeeded. This is much easier than comparing all of the expected/obtained content by hand.
Syndicated 2008-07-23 19:03:00 from Federico Mena-Quintero - Activity Log
Tue 2008/Jul/22
Here is my presentation from GUADEC: Document-centric GNOME (ODP).
The code for document-centric Nautilus consists of the journal view and the Nautilus extension interface for journal providers. This code is not finished yet (nothing gets displayed to the screen; it's all engine code), but you can take a look here:
git clone git://gitorious.org/nautilus/mainline.git nautilus-document-centric
The master branch contains the document-centric code, which is built on top of nautilus-2.22.2. You can also visit the Gitorious repository for document-centric Nautilus and create your forks there.
John Anderson has posted a great little tutorial on Nautilus tips and tricks. Life-savers for me: the list of keyboard shortcuts and enabling the "advanced permissions" view.
Syndicated 2008-07-22 12:42:00 from Federico Mena-Quintero - Activity Log
16 Jul 2008 (updated 16 Jul 2008 at 20:08 UTC) »
Wed 2008/Jul/16
Hot damn, someone is porting DTrace to Linux (source code). Maybe Mortadelo will be useful in the future again.
Ah, Istanbul.
The Blue Mosque introduced me to painted domes and arches. Now I know how to paint and decorate our vaults on the inside, which are just plain whitewashed right now.
3 Jul 2008 (updated 3 Jul 2008 at 20:04 UTC) »
Thu 2008/Jul/03
Mario Ðanić has another interesting post about distributed version control systems. He proposes that each developer (or at least, every maintainer) could use the DVCS of their choice, but then we could have a common web/collaboration interface to all the DVCSs.
My current favorite way of developing against a stable release:
$ cat ~/bin/make-nautilus #!/bin/sh module_name=nautilus diff_name=~/suse/11.0/src/SOURCES/nautilus-document-centric.diff anchor_name=OPENSUSE_11_0_PATCHES branch_name=document-centric cd ~/src/$module_name git diff $anchor_name..$branch_name > $diff_name cd ~/suse/11.0/src/SPECS if rpmbuild -ba $module_name.spec then cd ../RPMS/i586 gnomesu rpm -Uvh --force *$module_name* notify-send -t 0 "$module_name is installed now" else notify-send -t 0 "$module_name doesn't build!" fi
Thu 2008/Jun/26
The main reason [why git-mirror.gnome.org doesn't make git.gnome.org any easier] is of course the polluted logs (filled with git-svn rev id metadata). I would resist any module having a Git repo with such ickyness in its history.
This is a non-issue. Ruby on Rails used to be hosted on Subversion, and then it switched to Git. To do the conversion, they simply used git-svn. You can do "git clone git://github.com/rails/rails.git", then "git log" and search for "git-svn" in the output in order to find the git-svn metadata.
You'll see this:
... git-based development goes here ...
commit 67022671bfa28d5675a30925a8d1e271c576f4d2
Author: David Heinemeier Hansson <david@loudthinking.com>
Date: Thu Apr 10 22:09:13 2008 -0500
Testing commits
commit ed99dda174da439a0947cdabea3babf027c672ac
Author: Rick Olson <technoweenie@gmail.com>
Date: Thu Apr 10 18:06:05 2008 +0000
Change validates_uniqueness_of :case_sensitive option default back to true (from [9160]). Love your database columns, do
n't LOWER them. [rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9248 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
... svn-based development went here ...
So, in the commit logs, you have everything since $beginning_of_time until $switchover_date with the git-svn-id strings, and everything after that without any such garbage, as would be normal for "plain" git repositories.
Having that metadata in the log actually provides valuable information.
If you have to do code archaeology (which Eric Sink calls "traceability"), then the commit log will tell you when the svn->git switchover occured. Before that point, you know that any branches are dead-ends and merges are funny (svn didn't handle them).
You'll know that before the switchover point, information about code attribution will not be 100% clear, as you couldn't specify --author in an svn commit (so you'll perhaps have to look at the actual ChangeLog and hope that the committer was kind enough to say "original patch by $author").
When you do a conversion between revision control systems, you keep the old system around in read-only mode for if anything goes wrong. It's nice to know that if we ever need to check something in the original SVN repository, we'll have the SVN revision numbers from the git-svn metadata.
Finally, the git-svn strings in commit logs will disappear really quickly from your everyday view. They just appear further and furter back in time, and you seldom look at those commits, anyway.
Mario Ðanić has been investigating about adapting Gitorious for KDE. He says he would be happy to talk to people who would like to adapt Gitorious for GNOME's needs as well. Among other things, Mario is working on the Summer of Code to write a GNOME client for the openSUSE build service.
Syndicated 2008-06-26 10:55:00 from Federico Mena-Quintero - Activity Log
federico certified others as follows:
Others have certified federico as follows:
[ Certification disabled because you're not logged in. ]
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!