sourcegit icon indicating copy to clipboard operation
sourcegit copied to clipboard

Feature request: add an updater

Open xan2622 opened this issue 5 months ago • 1 comments

Hi.

Sourcegit is evolving quickly, with frequent updates and ongoing development. Thank you for improving it this much!

That being said, these frequent updates mean that users often have to go to GitHub, download the latest release file, extract its contents and manually replace the previously extracted folder. While this process is simple, it can still feel very repetitive.

Hence this suggestion: Could you please consider adding an updater inside Sourcegit?

Maybe these projects can help achieve this task:

  • https://github.com/NetSparkleUpdater/NetSparkle (cross-platform)
  • https://github.com/ravibpatel/AutoUpdater.NET (Windows)
  • https://github.com/vslavik/winsparkle (Windows)
  • https://github.com/sparkle-project/Sparkle (macOS)

xan2622 avatar Jul 14 '25 07:07 xan2622

Several issues had already been opened in the past on this topic. At the time I understood that there was no intention to implement it since there are other update methods available besides downloading the file manually from GitHub such as WinGet. Please read https://github.com/sourcegit-scm/sourcegit/issues/1159 as reference.

massimopaganigh avatar Jul 15 '25 05:07 massimopaganigh

WinGet is no longer an option (instead Scoop is recommended), see https://github.com/sourcegit-scm/sourcegit/issues/1931#issuecomment-3596476885.

goran-w avatar Dec 05 '25 18:12 goran-w

Auto-update would be very nice to have given the rapid release rate of SourceGit (usually once a week or so).

However, using a package manager (like Scoop) can conflict with the idea of in-app auto-update functionality (see https://github.com/ScoopInstaller/Scoop/issues/3691).

Also, it may be difficult for the app itself to know which way it was originally installed.

At the very least, given the current situation, the README should be updated to explain not only how to install the application (via the different available methods) but also how to update it! For package managers it's usually just a couple of extra command lines, which may seem trivial but would be very helpful to new users.

For example, to update using Scoop, run the following commands : scoop update (refresh manifests and Scoop itself) scoop update sourcegit

BTW, see https://github.com/sourcegit-scm/sourcegit/issues/1159#issuecomment-3617525396 for a .bat script I use to update SourceGit via curl.

goran-w avatar Dec 05 '25 19:12 goran-w

Auto-update would be very nice to have given the rapid release rate of SourceGit (usually once a week or so).

However, using a package manager (like Scoop) can conflict with the idea of in-app auto-update functionality (see ScoopInstaller/Scoop#3691).

Also, it may be difficult for the app itself to know which way it was originally installed.

At the very least, given the current situation, the README should be updated to explain not only how to install the application (via the different available methods) but also how to update it! For package managers it's usually just a couple of extra command lines, which may seem trivial but would be very helpful to new users.

For example, to update using Scoop, run the following commands : scoop update (refresh manifests and Scoop itself) scoop update sourcegit

BTW, see #1159 (comment) for a .bat script I use to update SourceGit via curl.

Hi @goran-w, maybe the application path could be used in order to understand the way it was originally installed. Scoop (Winget and many others package managers) should use a default installation path. An auto-update logic can be implemented and used without any conflict after ensuring that the application is not inside any of those paths.

massimopaganigh avatar Dec 09 '25 07:12 massimopaganigh

Hi @goran-w, maybe the application path could be used in order to understand the way it was originally installed. Scoop (Winget and many others package managers) should use a default installation path. An auto-update logic can be implemented and used without any conflict after ensuring that the application is not inside any of those paths.

Yes - at least that would distinguish "standard" cases of the documented ways to install (i.e via Scoop etc).

Also, for the case of detecting that SourceGit is indeed installed via Scoop, it might be possible to spawn a script that auto-updates SourceGit via Scoop (after closing SourceGit to avoid locked files etc).

goran-w avatar Dec 09 '25 13:12 goran-w

At the very least, given the current situation, the README should be updated to explain not only how to install the application (via the different available methods) but also how to update it! For package managers it's usually just a couple of extra command lines, which may seem trivial but would be very helpful to new users.

For example, to update using Scoop, run the following commands (the 1st line will refresh manifests and Scoop itself, before updating SourceGit on the 2nd line) : scoop update scoop update sourcegit

@love-linger could you add this to the README.md file?

goran-w avatar Dec 12 '25 10:12 goran-w