我被检查出了rich GUI对Git上Linux.最近我开始大量使用它并发现即使命令行非常有用,我仍然需要一个GUI供我使用,因为我还不太了解高级功能.
我以前在SO上遇到过这个问题,但我还是要再问这个问题,因为那个问题没有我的答案
我已经使用git-cola和gitk,但他们看上去半生不熟和gitk看起来像我的一些其他工作DE.我在gitGUI中需要的所有功能都不在其中.
我试过giggle,但它对于观看差异更有用
QGit,但还没有完全完成.现在让我告诉我如何想要一个foo-Git-GUI看起来像:
Bzr Explorer,它是高度可用的,并且具有许多功能,而不是上面提到的许多GUI任何人都知道任何Git GUI,看起来像我上面发布的上面的例子?
这个问题看起来似乎微不足道,乍一看也很愚蠢,但它远不止于此.
我有一个任何类型的数组T(T[]),我想将其转换为List generic(List<T>).除了创建一个通用列表,遍历整个数组并在List中添加元素之外还有其他方法吗?
现状:
string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>();
foreach(string s in strList)
{
listOfStr.Add(s);
}
Run Code Online (Sandbox Code Playgroud)
我理想的情况:
string[] strList = {"foo","bar","meh"};
List<string> listOfStr = strList.ToList<string>();
Run Code Online (Sandbox Code Playgroud)
要么:
string[] strList = {"foo","bar","meh"};
List<string> listOfStr = new List<string>(strList);
Run Code Online (Sandbox Code Playgroud)
我建议最后两个方法名称,因为我认为编译器或CLR如果它想要内置,可以对整个操作执行一些优化.
PS:我不是在谈论Array或者ArrayList类型
我想使用创建枚举CodeDom API.我在互联网上搜索得足够多,而且我得到的结果几乎没用.
我想要产生的是
public enum bug_tracker_type
{
[Description("Bugzilla")]
Bugzilla,
[Description("Debbugs")]
Debbugs,
[Description("PHP Project Bugtracker")]
PHP_Project_Bugtracker,
[Description("Google Code")]
Google_Code
}
Run Code Online (Sandbox Code Playgroud)
我使用CodeTypeDeclaration并将其IsEnum属性设置为true,创建了一个名称,并设置了它的属性.
现在最大的问题是如何填充身体?
我试过了
CodeTypeMember mem = new CodeTypeMember();
mem.Name = WadlSharpUtils.CreateIdentifier(discreteValue.value);
mem.CustomAttributes.Add(new CodeAttributeDeclaration(discreteValue.value));
// enumCandidate is an instance of CodeTypeDeclaration
enumCandidate.Members.Add(mem);
Run Code Online (Sandbox Code Playgroud)
虽然使用这个解决方案我可以生成描述属性,但行结束;与否,
我打算写一些git钩子作为一个项目,将用户的操作记录在数据库中.然后可以使用该数据库查询其所有活动.我想要记录的操作是
我希望将这个包装在可以通过包管理器安装的发行版中.Git允许通过放置任何这样的全局钩子$PREFIX/share/templates/hooks
它目前有一些禁用的钩子(.sample附加到它们的名称).创建新存储库时,会将这些挂钩复制.git到存储库的文件夹中
现在,如果用户安装了这些钩子和钩子的包,post-commit并且post-update已经启用了.在这种情况下,脚本文件将被覆盖!这听起来很糟糕
这意味着git每个操作只有一个钩子文件.如果我需要为一个动作保留三个钩子,这意味着它是不可能的.这意味着从包管理器自动安装可能会引入冲突.
现在认为我们打包了钩子来覆盖默认的启用文件.如果用户想要为这些文件添加更多操作然后决定卸载我的包,那么他的自定义命令也会消失?
我认为git在这方面非常聪明,我错了:(
需要有一个名为的文件夹post-commit和/ post-update或任何操作,git应该运行该文件夹中的所有脚本.我仍然在寻找一种方法来处理当前的情况.
我试图将a反序列化为Unix timestampa DateTime.在我的情况下,我需要做更多的检查才能从时间戳设置属性到DateTime.如果我使用DateTime的Newtonsoft.Json是它反序列化到UTC时间,我需要将其反序列化到一个特定的时区
问题是我无法得到正确的时间.好像我的字符串long解析失败了.如果我可以得到longunix时间戳,我可以让其余的逻辑工作
我有一个名为的班级 Alert
class Alert
{
// Some properties
[JsonConverter(typeof(UnixTimestampJsonConverter))]
public DateTime Created { get; set; }
// Some more properties
}
Run Code Online (Sandbox Code Playgroud)
这个班UnixTimestampJsonConverter是
class UnixTimestampJsonConverter : JsonConverter
{
// Other override methods
public override object ReadJson (JsonReader reader, Type objectType,
object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.EndObject)
return null;
if (reader.TokenType == JsonToken.StartObject) {
long instance = serializer.Deserialize<long> (reader);
return …Run Code Online (Sandbox Code Playgroud) 我正在编写围绕马萨诸塞州海湾运输管理局(MBTA)实时API的托管包装器.它们有一个API,它返回服务器时间,即unix时间戳(epoch).我正在实现它的库是PCL Profile 78,这意味着我对BCL TimeZone的支持有限,所以我求助于使用Nodatime
我试图将从服务器返回的时间转换为东部时间,这是America/New_York一个DateTime对象和反向方式.我目前的代码很脏
public static class TimeUtils
{
static readonly DateTimeZone mbtaTimeZone = DateTimeZoneProviders.Tzdb["America/New_York"];
static readonly DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public static DateTime GetMbtaDateTime (long unixTimestamp)
{
var mbtaEpochTime = epoch.AddSeconds (unixTimestamp);
var instant = Instant.FromUtc (mbtaEpochTime.Year, mbtaEpochTime.Month,
mbtaEpochTime.Day, mbtaEpochTime.Hour, mbtaEpochTime.Minute, mbtaEpochTime.Second);
var nodaTime = instant.InZone (mbtaTimeZone);
return nodaTime.ToDateTimeUnspecified ();
}
public static long MbtaDateTimeToUnixTimestamp (DateTime time)
{
TimeSpan secondsSinceEpochMbtaTz = time …Run Code Online (Sandbox Code Playgroud)