feature<App>: supports to open repository from commandline directly

This commit is contained in:
leo 2021-02-01 09:39:14 +08:00
parent 91f3f1263a
commit 5f2fe64e80
3 changed files with 16 additions and 3 deletions

View file

@ -139,9 +139,14 @@ namespace SourceGit {
}
// Show main window
MainWindow = new UI.Launcher();
if (e.Args.Length == 1) {
MainWindow = new UI.Launcher(e.Args[0]);
} else {
MainWindow = new UI.Launcher(null);
}
MainWindow.Show();
// Check for update.
if (Setting.CheckUpdate && Setting.LastCheckUpdate != DateTime.Now.DayOfYear) {
Setting.LastCheckUpdate = DateTime.Now.DayOfYear;

View file

@ -212,6 +212,8 @@ namespace SourceGit.Git {
/// <param name="path">Local path.</param>
/// <returns></returns>
public static bool IsValid(string path) {
if (!Directory.Exists(path)) return false;
var startInfo = new ProcessStartInfo();
startInfo.FileName = App.Setting.Tools.GitExecutable;
startInfo.Arguments = "rev-parse --git-dir";

View file

@ -95,10 +95,16 @@ namespace SourceGit.UI {
/// <summary>
/// Constructor
/// </summary>
public Launcher() {
public Launcher(string path) {
InitializeComponent();
if (path != null && App.IsGitConfigured && Git.Repository.IsValid(path)) {
var repo = App.Setting.FindRepository(path);
if (repo == null) repo = App.Setting.AddRepository(path, "");
Open(repo);
} else {
NewTab(null, null);
}
}
/// <summary>
/// Open repository