anchor.diff:           Attribute.Guid "3745F3DA-6ABB-4C58-923D-B09E4A04688F"
            // specifying DelaySign explicitly because of a bug in FAKE
            Attribute.BoolAttribute("AssemblyDelaySign", false, "System.Reflection")
  -         Attribute.FileVersion version
  +         Attribute.FileVersion release.AssemblyVersion
            Attribute.ComVisible false
            Attribute.CLSCompliant false]
   
  
positive.code:     use reader = new StreamReader(stream)
      reader.ReadToEnd()
  
  let version =
      if hasBuildParam "version" then getBuildParam "version" else
      if isLocalBuild then getLastTag() else
      // version is set to the last tag retrieved from GitHub Rest API
      // see http://developer.github.com/v3/repos/ for reference
      let url = "https://api.github.com/repos/machine/machine.fakes/tags"
      tracefn "Downloading tags from %s" url
      let tags = (new JavaScriptSerializer()).DeserializeObject(ExecuteGetCommand url) :?> System.Object array
      [ for tag in tags -> tag :?> Dictionary<string, System.Object> ]
          |> List.map (fun m -> m.Item("name") :?> string)
          |> List.max
  
  let title = if isLocalBuild then sprintf "%s (%s)" projectName <| getCurrentHash() else projectName
  
  
negative.code: open Fake
  open Fake.Git
  open Fake.AssemblyInfoFile
  open System.IO
  open System.Net
  
  (* properties *)
  let authors = ["The machine project"]
  