|
|
|
@ -14,16 +14,16 @@ namespace ICSharpCode.GitAddIn |
|
|
|
{ |
|
|
|
{ |
|
|
|
public override void Run() |
|
|
|
public override void Run() |
|
|
|
{ |
|
|
|
{ |
|
|
|
FileService.FileCreated += (sender, args) => { |
|
|
|
FileService.FileCreated += (sender, e) => { |
|
|
|
Git.Add(args.FileName, |
|
|
|
Git.Add(e.FileName, |
|
|
|
exitcode => WorkbenchSingleton.SafeThreadAsyncCall(ClearStatusCacheAndEnqueueFile, args.FileName) |
|
|
|
exitcode => WorkbenchSingleton.SafeThreadAsyncCall(ClearStatusCacheAndEnqueueFile, e.FileName) |
|
|
|
); |
|
|
|
); |
|
|
|
}; |
|
|
|
}; |
|
|
|
FileService.FileRemoved += (sender, args) => { |
|
|
|
FileService.FileRemoved += (sender, e) => { |
|
|
|
if (GitStatusCache.GetFileStatus(args.FileName) == GitStatus.Added) { |
|
|
|
RemoveFile(e.FileName); |
|
|
|
Git.Remove(args.FileName, true, |
|
|
|
}; |
|
|
|
exitcode => WorkbenchSingleton.SafeThreadAsyncCall(ClearStatusCacheAndEnqueueFile, args.FileName)); |
|
|
|
FileService.FileRenamed += (sender, e) => { |
|
|
|
} |
|
|
|
RenameFile(e.SourceFile, e.TargetFile); |
|
|
|
}; |
|
|
|
}; |
|
|
|
FileUtility.FileSaved += (sender, e) => { |
|
|
|
FileUtility.FileSaved += (sender, e) => { |
|
|
|
ClearStatusCacheAndEnqueueFile(e.FileName); |
|
|
|
ClearStatusCacheAndEnqueueFile(e.FileName); |
|
|
|
@ -31,6 +31,22 @@ namespace ICSharpCode.GitAddIn |
|
|
|
AbstractProjectBrowserTreeNode.OnNewNode += TreeNodeCreated; |
|
|
|
AbstractProjectBrowserTreeNode.OnNewNode += TreeNodeCreated; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void RemoveFile(string fileName) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (GitStatusCache.GetFileStatus(fileName) == GitStatus.Added) { |
|
|
|
|
|
|
|
Git.Remove(fileName, true, |
|
|
|
|
|
|
|
exitcode => WorkbenchSingleton.SafeThreadAsyncCall(ClearStatusCacheAndEnqueueFile, fileName)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void RenameFile(string sourceFileName, string targetFileName) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Git.Add(targetFileName, |
|
|
|
|
|
|
|
exitcode => WorkbenchSingleton.SafeThreadAsyncCall(RemoveFile, sourceFileName) |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
WorkbenchSingleton.SafeThreadAsyncCall(ClearStatusCacheAndEnqueueFile, targetFileName); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void TreeNodeCreated(object sender, TreeViewEventArgs e) |
|
|
|
void TreeNodeCreated(object sender, TreeViewEventArgs e) |
|
|
|
{ |
|
|
|
{ |
|
|
|
SolutionNode sn = e.Node as SolutionNode; |
|
|
|
SolutionNode sn = e.Node as SolutionNode; |
|
|
|
|