mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2025-01-11 23:57:21 -08:00
refactor: rewrite the portable mode (#851)
This commit is contained in:
parent
093176d10b
commit
dc649e6142
3 changed files with 9 additions and 14 deletions
|
@ -64,7 +64,8 @@ This software creates a folder `$"{System.Environment.SpecialFolder.ApplicationD
|
|||
| macOS | `${HOME}/Library/Application Support/SourceGit` |
|
||||
|
||||
> [!TIP]
|
||||
> You can open this data storage directory from the main menu.
|
||||
> * You can open this data storage directory from the main menu `Open Data Storage Directory`.
|
||||
> * You can create a `data` folder next to the `SourceGit` executable to force this app to store data (user settings, downloaded avatars and crash logs) into it (Portable-Mode). Only works on Windows.
|
||||
|
||||
For **Windows** users:
|
||||
|
||||
|
@ -81,7 +82,6 @@ For **Windows** users:
|
|||
scoop install sourcegit
|
||||
```
|
||||
* Pre-built binaries can be found in [Releases](https://github.com/sourcegit-scm/sourcegit/releases/latest)
|
||||
* You can run `dotnet publish -c Release -r win-x64 -p:EnablePortable=true -o $YOUR_PUBLISH_DIR .\src\SourceGit.csproj` to build a portable version.
|
||||
|
||||
For **macOS** users:
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
#if ENABLE_PORTABLE
|
||||
using System.Diagnostics;
|
||||
#endif
|
||||
using System.IO;
|
||||
|
||||
using Avalonia;
|
||||
|
@ -58,16 +56,17 @@ namespace SourceGit.Native
|
|||
|
||||
public static void SetupDataDir()
|
||||
{
|
||||
#if ENABLE_PORTABLE
|
||||
if (OperatingSystem.IsWindows())
|
||||
{
|
||||
var execFile = Process.GetCurrentProcess().MainModule!.FileName;
|
||||
DataDir = Path.Combine(Path.GetDirectoryName(execFile), "data");
|
||||
if (!Directory.Exists(DataDir))
|
||||
Directory.CreateDirectory(DataDir);
|
||||
var portableDir = Path.Combine(Path.GetDirectoryName(execFile), "data");
|
||||
if (Directory.Exists(portableDir))
|
||||
{
|
||||
DataDir = portableDir;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
var osAppDataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
|
||||
if (string.IsNullOrEmpty(osAppDataDir))
|
||||
DataDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".sourcegit");
|
||||
|
|
|
@ -30,10 +30,6 @@
|
|||
<DefineConstants>$(DefineConstants);DISABLE_UPDATE_DETECTION</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(EnablePortable)' == 'true'">
|
||||
<DefineConstants>$(DefineConstants);ENABLE_PORTABLE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AvaloniaResource Include="App.ico" />
|
||||
<AvaloniaResource Include="Resources/Fonts/*" />
|
||||
|
|
Loading…
Reference in a new issue