private void ResetSelectedItemsTo(string revision, bool actsAsChild)
{
var selectedItems = DiffFiles.SelectedItems;
IEnumerable<GitItemStatus> itemsToCheckout;
if (actsAsChild)
{
var deletedItems = selectedItems.Where(item => item.IsDeleted);
Module.RemoveFiles(deletedItems.Select(item => item.Name), false);
itemsToCheckout = selectedItems.Where(item => !item.IsDeleted);
}
else //acts as parent
{
//if file is new to the parent, it has to be removed
var addedItems = selectedItems.Where(item => item.IsNew);
Module.RemoveFiles(addedItems.Select(item => item.Name), false);
itemsToCheckout = selectedItems.Where(item => !item.IsNew);
}
Module.CheckoutFiles(itemsToCheckout.Select(item => item.Name), revision, false);
}