mirror of
https://fastgit.cc/github.com/sourcegit-scm/sourcegit
synced 2026-04-24 10:50:52 +08:00
feature<App>: supports to open repository from commandline directly
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -95,9 +95,15 @@ namespace SourceGit.UI {
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
public Launcher() {
|
||||
public Launcher(string path) {
|
||||
InitializeComponent();
|
||||
NewTab(null, null);
|
||||
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>
|
||||
|
||||
Reference in New Issue
Block a user