private static void AppendOneRecord(ObjectId oldId, ObjectId newId, PersonIdent ident, string msg, Repository db, string refName) { ident = ident == null ? new PersonIdent(db) : new PersonIdent(ident); var r = new StringBuilder(); r.Append(ObjectId.ToString(oldId)); r.Append(' '); r.Append(ObjectId.ToString(newId)); r.Append(' '); r.Append(ident.ToExternalString()); r.Append('\t'); r.Append(msg); r.Append('\n'); byte[] rec = Constants.encode(r.ToString()); var logdir = new DirectoryInfo(Path.Combine(db.Directory.FullName, Constants.LOGS)); var reflog = new FileInfo(Path.Combine(logdir.FullName, refName)); if (reflog.Exists || db.Config.getCore().isLogAllRefUpdates()) { DirectoryInfo refdir = reflog.Directory; if (!refdir.Exists && !refdir.Mkdirs()) { throw new IOException("Cannot create directory " + refdir); } using (var @out = new FileStream(reflog.FullName, System.IO.FileMode.Append, FileAccess.Write)) { @out.Write(rec, 0, rec.Length); } } }
public void test002_ParseIdent() { string i = "A U Thor <*****@*****.**> 1142878501 -0500"; var p = new PersonIdent(i); Assert.AreEqual(i, p.ToExternalString()); Assert.AreEqual("A U Thor", p.Name); Assert.AreEqual("*****@*****.**", p.EmailAddress); Assert.AreEqual(1142878501000L, p.When); }
public void test001_NewIdent() { PersonIdent p; p = new PersonIdent("A U Thor", "*****@*****.**", 1142878501000L.MillisToUtcDateTime(), (int)new TimeSpan(-5, 0, 0).TotalMinutes); Assert.AreEqual("A U Thor", p.Name); Assert.AreEqual("*****@*****.**", p.EmailAddress); Assert.AreEqual(1142878501000L, p.When); Assert.AreEqual("A U Thor <*****@*****.**> 1142878501 -0500", p.ToExternalString()); }
public void test001_NewIdent() { PersonIdent p; try { p = new PersonIdent("A U Thor", "*****@*****.**", 1142878501L.UnixTimeToDateTime(), TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")); } catch (TimeZoneNotFoundException) { p = new PersonIdent("A U Thor", "*****@*****.**", 1142878501L.UnixTimeToDateTime(), TimeZoneInfo.FindSystemTimeZoneById("US/Eastern")); } Assert.AreEqual("A U Thor", p.Name); Assert.AreEqual("*****@*****.**", p.EmailAddress); Assert.AreEqual(1142878501000L, p.When); Assert.AreEqual("A U Thor <*****@*****.**> 1142878501 -0500", p.ToExternalString()); }
private static void putPersonIdent(IDictionary<String, String> env, string type, PersonIdent who) { string ident = who.ToExternalString(); string date = ident.Substring(ident.IndexOf("> ") + 2); env.put("GIT_" + type + "_NAME", who.Name); env.put("GIT_" + type + "_EMAIL", who.EmailAddress); env.put("GIT_" + type + "_DATE", date); }
private static void AppendOneRecord(ObjectId oldId, ObjectId newId, PersonIdent ident, string msg, Repository db, string refName) { ident = ident == null ? new PersonIdent(db) : new PersonIdent(ident); var r = new StringBuilder(); r.Append(ObjectId.ToString(oldId)); r.Append(' '); r.Append(ObjectId.ToString(newId)); r.Append(' '); r.Append(ident.ToExternalString()); r.Append('\t'); r.Append(msg); r.Append('\n'); byte[] rec = Constants.encode(r.ToString()); var logdir = new DirectoryInfo(Path.Combine(db.Directory.FullName, Constants.LOGS)); var reflog = new DirectoryInfo(Path.Combine(logdir.FullName, refName)); var refdir = reflog.Parent; if (!refdir.Exists && !refdir.Mkdirs()) { throw new IOException("Cannot create directory " + refdir); } using (var @out = new FileStream(reflog.FullName, System.IO.FileMode.Append, FileAccess.Write)) { @out.Write(rec, 0, rec.Length); } }