From 9dc72210fd39f7197f76dbcd57405c1fb6ff0744 Mon Sep 17 00:00:00 2001 From: Matt Burke Date: Tue, 8 Sep 2009 14:31:13 -0400 Subject: [PATCH] Improved debug/warning logging. --- GitTfs/Core/TfsHelper.cs | 21 ++++++++++++++++++++- GitTfs/Core/TfsWorkspace.cs | 6 +++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/GitTfs/Core/TfsHelper.cs b/GitTfs/Core/TfsHelper.cs index c6f6cb3f..05779d98 100644 --- a/GitTfs/Core/TfsHelper.cs +++ b/GitTfs/Core/TfsHelper.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.IO; using System.Net; using Microsoft.TeamFoundation.Client; using Microsoft.TeamFoundation.Server; @@ -12,9 +13,15 @@ namespace Sep.Git.Tfs.Core { public class TfsHelper : ITfsHelper { + private readonly TextWriter _stdout; private TeamFoundationServer server; private string username; + public TfsHelper(TextWriter stdout) + { + _stdout = stdout; + } + public string TfsClientLibraryVersion { get { return typeof(TeamFoundationServer).Assembly.GetName().Version.ToString() + " (MS)"; } @@ -70,7 +77,19 @@ namespace Sep.Git.Tfs.Core public VersionControlServer VersionControl { - get { return (VersionControlServer)Server.GetService(typeof(VersionControlServer)); } + get + { + var versionControlServer = (VersionControlServer)Server.GetService(typeof(VersionControlServer)); + versionControlServer.NonFatalError += NonFatalError; + return versionControlServer; + } + } + + private void NonFatalError(object sender, ExceptionEventArgs e) + { + _stdout.WriteLine(e.Failure.Message); + Trace.WriteLine("Failure: " + e.Failure.Inspect(), "tfs non-fatal error"); + Trace.WriteLine("Exception: " + e.Exception.Inspect(), "tfs non-fatal error"); } private IGroupSecurityService GroupSecurityService diff --git a/GitTfs/Core/TfsWorkspace.cs b/GitTfs/Core/TfsWorkspace.cs index e84b726e..45eadd45 100644 --- a/GitTfs/Core/TfsWorkspace.cs +++ b/GitTfs/Core/TfsWorkspace.cs @@ -35,21 +35,21 @@ namespace Sep.Git.Tfs.Core { _stdout.WriteLine(" add " + path); var added = _workspace.PendAdd(GetLocalPath(path)); - Debug.Assert(added == 1, "one item should have been added, but actually added " + added + " items."); + Trace.WriteLineIf(added != 1, "one item should have been added, but actually added " + added + " items."); } public void Edit(string path) { _stdout.WriteLine(" edit " + path); var edited = _workspace.PendEdit(GetLocalPath(path)); - Debug.Assert(edited == 1, "one item should have been edited, but actually edited " + edited + " items."); + Trace.WriteLineIf(edited != 1, "one item should have been edited, but actually edited " + edited + " items."); } public void Delete(string path) { _stdout.WriteLine(" delete " + path); var deleted = _workspace.PendDelete(GetLocalPath(path)); - Debug.Assert(deleted == 1, "one item should have been deleted, but actually deleted " + deleted + " items."); + Trace.WriteLineIf(deleted != 1, "one item should have been deleted, but actually deleted " + deleted + " items."); } } } \ No newline at end of file