using System;
using System.ComponentModel;
using System.IO;
using NDesk.Options;
using StructureMap;
using Sep.Git.Tfs.Core;
namespace Sep.Git.Tfs.Commands
{
[Pluggable("version")]
[Description("version")]
public class Version : GitTfsCommand
{
private Globals globals;
TextWriter stdout;
IGitTfsVersionProvider versionProvider;
///
/// Initializes a new instance of the Version class.
///
///
///
public Version(Globals globals, TextWriter stdout, IGitTfsVersionProvider versionProvider)
{
this.globals = globals;
this.stdout = stdout;
this.versionProvider = versionProvider;
this.OptionSet = globals.OptionSet;
}
public int Run()
{
stdout.WriteLine(versionProvider.GetVersionString());
stdout.WriteLine(versionProvider.GetPathToGitTfsExecutable());
return GitTfsExitCodes.OK;
}
public OptionSet OptionSet { get; private set; }
}
}