anchor.diff:  open System.Net
   open System.Xml
   open System.Text
  +open Paket.Logging
   
   type Auth = 
       { Username : string
  
positive.code:     let fileName = Path.Combine(packagesFolder,Constants.AccessLockFileName)
  
      // Checks the packagesFolder for a paket.locked file or waits until it get access to it.
      let rec acquireLock trials =
          try
              let rec waitForUnlocked () =
                  if File.Exists fileName then
                      let content = File.ReadAllText fileName
                      if content <> p.Id.ToString() then
                          let processes = Process.GetProcessesByName(p.ProcessName)
                          if processes |> Array.exists (fun p -> content = p.Id.ToString()) then
                              Thread.Sleep(100)
                              waitForUnlocked()
  
              waitForUnlocked()
              File.WriteAllText(fileName,p.Id.ToString())
          with
          | _ -> 
              if trials > 0 then
                  acquireLock (trials - 1)
              else
                  failwithf "Could not acquire %s file in %s." Constants.AccessLockFileName packagesFolder
      
      let releaseLock() =
           if File.Exists fileName then
  
negative.code:                File.Delete fileName
  
      try
          acquireLock DateTime.Now (TimeSpan.FromMinutes 2.)
  
          let result = action()
          
  