Add debug datas

This commit is contained in:
Philippe Miossec
2013-09-30 00:26:39 +02:00
parent f245095162
commit f93dbc9dd0
2 changed files with 35 additions and 2 deletions
+26 -2
View File
@@ -87,6 +87,7 @@ namespace Sep.Git.Tfs.VsCommon
private void GetRootChangesetForBranch(IList<RootBranch> rootBranches, string tfsPathBranchToCreate, string tfsPathParentBranch = null)
{
Trace.WriteLine("Looking for root changeset for branch:" + tfsPathBranchToCreate);
try
{
if (!CanGetBranchInformation)
@@ -201,14 +202,37 @@ namespace Sep.Git.Tfs.VsCommon
{
renameFromBranch = null;
merges = (merges ?? new ExtendedMerge[] {}).ToArray();
var merge = merges.LastOrDefault(m => m.SourceItem.Item.ServerItem.Equals(tfsPathParentBranch, StringComparison.InvariantCultureIgnoreCase))
?? merges.LastOrDefault();
var merge = merges.LastOrDefault(m => m.SourceItem.Item.ServerItem.Equals(tfsPathParentBranch, StringComparison.InvariantCultureIgnoreCase));
if (merge == null)
{
Trace.WriteLine("Took last merge found because no one satisfying conditions!");
merge = merges.LastOrDefault();
}
if (merge == null)
{
throw new GitTfsException("An unexpected error occured when trying to find the root changeset.\nFailed to find root changeset for " + tfsPathBranchToCreate + " branch in " + tfsPathParentBranch + " branch");
}
var changes = "Merge changetype:";
bool first = true;
foreach (ChangeType changeType in Enum.GetValues(typeof(ChangeType)))
{
if (merge.SourceItem.ChangeType.HasFlag(changeType))
{
if (first)
first = false;
else
changes += " | ";
changes += changeType.ToString("G");
}
}
Trace.WriteLine("Merge ChangesetId:" + merge.SourceChangeset.ChangesetId);
Trace.WriteLine(changes);
Trace.WriteLine("Merge ServerItem:" + merge.SourceItem.Item.ServerItem);
if (merge.TargetItem.Item != null)
Trace.WriteLine("Merge TargetItem:" + merge.TargetItem.Item);
if (merge.SourceItem.ChangeType.HasFlag(ChangeType.Rename))
renameFromBranch = merge.TargetItem.Item;
+9
View File
@@ -88,8 +88,14 @@ namespace Sep.Git.Tfs.Commands
creationBranchData = defaultRemote.Tfs.GetRootChangesetForBranch(tfsBranchPath, tfsRepositoryPathParentBranchFound.TfsRepositoryPath);
}
_stdout.WriteLine("Branches to Initialize successively :");
foreach (var branch in creationBranchData)
_stdout.WriteLine("-" + branch.TfsBranchPath + " (" + branch.RootChangeset + ")");
foreach (var rootBranch in creationBranchData)
{
Trace.WriteLine("Processing " + (rootBranch.IsRenamedBranch ? "renamed " : string.Empty) + "branch :" + rootBranch.TfsBranchPath + " (" + rootBranch.RootChangeset + ")");
var cbd = new BranchCreationDatas() { RootChangesetId = rootBranch.RootChangeset, TfsRepositoryPath = rootBranch.TfsBranchPath };
if (cbd.TfsRepositoryPath == tfsBranchPath)
cbd.GitBranchNameExpected = gitBranchNameExpected;
@@ -98,6 +104,9 @@ namespace Sep.Git.Tfs.Commands
if (string.IsNullOrWhiteSpace(cbd.Sha1RootCommit))
throw new GitTfsException("error: The root changeset " + cbd.RootChangesetId +
" have not be found in the Git repository. The branch containing the changeset should not have been created. Please do it before retrying!!\n");
Trace.WriteLine("Found commit " + cbd.Sha1RootCommit + " for changeset :" + cbd.RootChangesetId);
var tfsRemote = CreateBranch(defaultRemote, cbd.TfsRepositoryPath, cbd.Sha1RootCommit, cbd.GitBranchNameExpected);
RemoteCreated = tfsRemote;
if (rootBranch.IsRenamedBranch || !NoFetch)