I refactored browser.rb so that all of DNSSD methods are executed synchronously within one thread for browser.rb. This makes it much easier to catch errors because I don't need to worry what thread the errors are occurring on - there can just be one handler within the browser thread.
It's customary to have Git commit messages consist of a short, one-line description (acting as the summary) of the change on the first line with any further descriptions handled in paragraphs below. For a further discussion on this point, see http://www.tpope.net/node/106 Within the commit view, rendering @commit.message appeared to strip the newlines provided by Grit::Commit#message, so I figured splitting the message string on the newline character and iterating over the array, inserting a <br/> element, would do the trick.
On Linux (at least on Ubuntu versions Karmic & Jaunty), the hostname of the other bananajours cannot be resolved because the name resolution doesn't search .local (MDNS). I've tried a number of incantations to Avahi configuration, /etc/resolv.conf and /etc/nsswitch.conf to get this to happen but without success. So, in order to get this to happen, we need to make sure all of the published URIs use $hostname.local. Also, all Bananajours will need to be updated, as this fix is on the publishing side, not on the consumer side.
Looks like something that changed in dnssd between 0.7.1 and 1.3. This is not an issue when Avahi-backed, only seems to happen on OS X. I suspect it's a timing-related issue due to the use of multiple threads.
This always assumed that there was a diff available without checking to make sure. This change checks to ensure that a real diff is possible, and if not, just takes every line from the b_blob and marks it as an addition. Thanks to Nate Haas (natehaas) for help with this patch. Signed-off-by: Tim Lucas <firstname.lastname@example.org>
…ed out (closes #12)
Use cases: when somebody does `bananajour init` but doesn't push to Banana Master. Also, if the project only has one commit, then there isn't any more to show.