>>>
return _provideDirectorySources(graph.packages[package], "bin").then((_) => BarbackServer.bind(
        this, _hostname, 0, package: package, rootDirectory: "bin"));
<<<
return _provideDirectorySources(graph.packages[package], "bin").then((_) =>
    BarbackServer.bind(this, _hostname, 0,
        package: package, rootDirectory: "bin"));
>>>
messageMentionsAsset(id) =>
    messageMentions(id.toString()) ||
    messageMentions(path.fromUri(entry.assetId.path));
<<<
messageMentionsAsset(id) => messageMentions(id.toString()) ||
    messageMentions(path.fromUri(entry.assetId.path));