anchor.diff:          }
       )
   
  -
  -let isReleaseBranchCheck () =
  -    let releaseBranch = "master"
  -    if Git.Information.getBranchName "" <> releaseBranch then failwithf "Not on %s.  If you want to release please switch to this branch." releaseBranch
  -
  -
  -Target.create "GitRelease" <| fun _ ->
  +let ``git release`` _ =
       isReleaseBranchCheck ()
   
       let releaseNotesGitCommitFormat = release.Notes |> Seq.map(sprintf "* %s\n") |> String.concat ""
  
positive.code: open Fake.Api
  open Fake.BuildServer
  
  BuildServer.install [
      AppVeyor.Installer
      Travis.Installer
  
negative.code: let configuration (targets : Target list) =
      let defaultVal = if isRelease targets then "Release" else "Debug"
      match Environment.environVarOrDefault "CONFIGURATION" defaultVal with
      | "Debug" -> DotNet.BuildConfiguration.Debug
      | "Release" -> DotNet.BuildConfiguration.Release
      | config -> DotNet.BuildConfiguration.Custom config
  
  let failOnBadExitAndPrint (p : ProcessResult) =
      if p.ExitCode <> 0 then
          p.Errors |> Seq.iter Trace.traceError
          failwithf "failed with exitcode %d" p.ExitCode
  
  
  let dispose (disposable : #IDisposable) = disposable.Dispose()
  [<AllowNullLiteral>]
  type DisposableDirectory (directory : string) =
      do
          Trace.tracefn "Created disposable directory %s" directory
      static member Create() =
          let tempPath = IO.Path.Combine(IO.Path.GetTempPath(), Guid.NewGuid().ToString("n"))
          IO.Directory.CreateDirectory tempPath |> ignore
  
          new DisposableDirectory(tempPath)
      member x.Directory = directory
      member x.DirectoryInfo = IO.DirectoryInfo(directory)
  
      interface IDisposable with
          member x.Dispose() =
              Trace.tracefn "Deleting directory %s" directory
              IO.Directory.Delete(x.Directory,true)
  
  type DisposeablePushd (directory : string) =
      do Shell.pushd directory
      member x.Directory = directory
      member x.DirectoryInfo = IO.DirectoryInfo(directory)
      interface IDisposable with
          member x.Dispose() =
              Shell.popd()
  
  let isReleaseBranchCheck () =
      let releaseBranch = "master"
      if Git.Information.getBranchName "" <> releaseBranch then failwithf "Not on %s.  If you want to release please switch to this branch." releaseBranch
  
  //-----------------------------------------------------------------------------
  // Target Implementations
  //-----------------------------------------------------------------------------
  
  let clean _ =
      [ "obj" ;"dist"]
      |> Shell.cleanDirs
  
      Git.CommandHelper.directRunGitCommandAndFail contentDir "clean -xfd"
  
  let ``dotnet restore`` _ =
      !! srcGlob
      |> Seq.iter(fun dir ->
          let args =
  