Put browser bookmarks into version control system

Solution 1:

Two options available within Firefox itself:

Go to (in versions < 4) Bookmarks>Organize Bookmarks or (in 4+) Bookmarks>Show All Bookmarks. There will be a button-dropdown for backing up/restoring/importing bookmarks near the top of the dialog box that appears. There will be options to export your bookmarks as either a JSON file or an HTML file. Restoring from the JSON file will completely replace the current bookmarks, while importing the HTML file will just add all the bookmarks to the Bookmarks menu.

I think the HTML version might be better for merging bookmark files, but would require you to delete all the current bookmarks in Firefox before importing the most recent HTML file to avoid all the duplication that would occur. The JSON version does not have that problem, but I'm not sure how well-suited it would be to merging, as it doesn't use line beaks.

UPDATE:

Just noticed that Firefox 4, at least, offers the option to sync bookmarks, etc. Go to Tools>Options and select the "Sync" tab.

Solution 2:

I think the most straightforward way to do this would be to dump the bookmarks from the Sqlite database into a CSV file, then check that into your DVCS. From the

This link on Sqlite.org should get you started on CSV from Sqlite.

There's nothing stopping you from putting the Sqlite db into version control -- you just won't have any compare history as (I think) Sqlite is storing stuff in binary. I'm not seeing the upside of having compare history on a set of bookmarks. It'll probably be a large file but this seems like the path of least resistance.