SourceTree 2.1.8 Update Available Notification - but update fails 404
Asked by rmain:

I just installed SourceTree from the webpage (2.1.2.5). Whenever I start it, it indicates "2.1.8 is available, would I like to update?". Answering "YES" results in a 404 error (not found).

Was 2.1.8 released, but not cleanly (i.e., not to the correct location)? Is 2.1.2.5 not looking in the right place for the update? Was 2.1.8 released, then withdrawn (but not cleanly)?

Is anyone else experiencing this?


Answers:
author: rmain
body: 2.1.8 installed without any problems this morning.

However, the build appears to be corrupt. Attempting to re-start SourceTree results a dialog box breifly flashing onscreen (too fast to read), and then closing.

Reverting to 2.1.2.5 now. Need to get work done.


author: minnsey
body: Hi,

The update process appears to be working correctly when I test it.  

<br />

However it would be useful to get some extra information in case others are experiencing the same problem.  

Can you attach teh %localappdata%\\Atlassian\\SourceTree\\sourcetree.log with entries including the failed update request?  

SourceTree first tries to read this file: [https://downloads.atlassian.com/software/sourcetree/windows/ga/RELEASES](https://www.sourcetreeapp.com/update/windows/ga/RELEASES)  

SourceTree is finding this because it tells you there is an update.  

If you decide to accept the update it will then try and download  

<https://downloads.atlassian.com/software/sourcetree/windows/ga/SourceTree-2.1.8-full.nupkg>

Although you wont be able to use them to actualy update could you please check you have access to those 2 files?  

You can download the 2.1.8 installer directly here: <http://downloads.atlassian.com/software/sourcetree/windows/ga/SourceTreeSetup-2.1.8.0.exe>

comments: author: Jesse
body: What does the 5% (next to 2.1.7) and the 25% (next to 2.1.8) mean?

Is that some sort of "roll out" percentage of users?

I don't have the same issue as OP, but similar enough. I have **one machine that updated to 2.1.8** on Friday (I think). And I have two others that **will only go as far as 2.1.2.5** and continue to say that it is the latest version.

And checking <https://www.sourcetreeapp.com/> shows 2.1.2.5 available for download, while there are quite a few releases between that and 2.1.8.

Why the difference?


author: rmain
body: Update worked OK today. However, I've seen other messages since indicating 2.1.8 is some kind of beta - so maybe I'll have to revert.

I was able to access both of the files you linke to (today, anyway), which is not surprising, considering the update completed today.

For reference, here is the relevant contents from sourcetree.log:

```
ERROR [2017-08-04 10:38:19,230] [1] [SourceTree.Utils.UpdateHelper+<DownloadAvailableUpdates>d__24] [MoveNext] - Unable to complete update
System.Net.WebException: The remote server returned an error: (404) Not Found.
 at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
 at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
 at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.Utility.<LogIfThrows>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.FileDownloader.<DownloadFile>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.UpdateManager.DownloadReleasesImpl.<>c__DisplayClass2_0.<<DownloadReleases>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.Utility.<>c__DisplayClass13_0`1.<<ForEachAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.UpdateManager.DownloadReleasesImpl.<DownloadReleases>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.UpdateManager.<DownloadReleases>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at SourceTree.Utils.UpdateHelper.<DownloadAvailableUpdates>d__24.MoveNext()
ERROR [2017-08-04 11:19:38,528] [1] [SourceTree.Utils.UpdateHelper+<DownloadAvailableUpdates>d__24] [MoveNext] - Unable to complete update
System.Net.WebException: The remote server returned an error: (404) Not Found.
 at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
 at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
 at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.Utility.<LogIfThrows>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.FileDownloader.<DownloadFile>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.UpdateManager.DownloadReleasesImpl.<>c__DisplayClass2_0.<<DownloadReleases>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.Utility.<>c__DisplayClass13_0`1.<<ForEachAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.UpdateManager.DownloadReleasesImpl.<DownloadReleases>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Squirrel.UpdateManager.<DownloadReleases>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at SourceTree.Utils.UpdateHelper.<DownloadAvailableUpdates>d__24.MoveNext()?
```