Большинство ответов, кажется, о Подверсии, таким образом, здесь Вы имеете один о Мерзавце (и другой DVCS).
В распределенной системе управления версиями при слиянии одного ответвления в другого Вы создаете новый фиксация слияния , который помнит, как Вы разрешили, что слияние, и помнит всех родителей слияния . Этой информации просто недоставало Подверсии до версии 1.5; необходимо было использовать дополнительные инструменты, такие как SVK или svnmerge для этого. Эта информация очень важна при выполнении повторенного слияния.
Благодаря этим информационным распределенным системам управления версиями (DVCS) может автоматически , находят общего предка (или общих предков), также известными как основа слияния, для любых двух ответвлений. Смотрите на схему ASCII-творчества изменений ниже (я надеюсь, что она не сделала был слишком ужасно искажен),
---O---*---*----M---*---*---1 \ / \---*---A/--*----2
, Если мы захотим объединить ответвление '2' в ответвление '1', то общий предок, которого мы хотели бы использовать для генерации слияния, будет версией (фиксация), отмеченная 'A'. Однако, если система управления версиями не записывала информацию о родителях слияния ('M' является предыдущим слиянием тех же ответвлений), это не смогло бы найти, что это - фиксация, и это нашло бы фиксацию 'O' как общий предок (основа слияния) вместо этого..., который уже повторит включенные изменения и приведет к большому конфликту слияния.
Распределенная система управления версиями должна была сделать его правильно, т.е. они должны были сделать слияние очень легким (не будучи должен отметить/отметить родителей слияния и предоставить информацию слияния вручную) с самого начала, потому что способ заставить кого-то еще получать код в проект не состоял в том, чтобы предоставить ему доступ фиксации, но вытягивать из его репозитория: получите фиксации из другого репозитория и выполните слияние.
можно найти информацию о слиянии в Подверсии 1.5. в Подверсия 1.5 Информации о версии . Знаменитые проблемы: Вам нужно отличающийся (!) опции объединить ответвление в соединительную линию, чем соединительная линия слияния в ответвление, иначе. не все ответвления равны (в распределенных системах управления версиями, они [обычно] технически эквивалентны).
Как предложил @Christian, ClearCachedData - это метод, который следует использовать. Но согласно MSDN:
Метод ClearCachedData не обновить информацию в Свойство Thread.CurrentCulture для существующие потоки
Таким образом, вам нужно сначала вызвать функцию, а затем запустить новый поток. В этом новом потоке вы можете использовать CurrentCulture для получения свежих значений культуры.
class Program
{
private class State
{
public CultureInfo Result { get; set; }
}
static void Main(string[] args)
{
Thread.CurrentThread.CurrentCulture.ClearCachedData();
var thread = new Thread(
s => ((State)s).Result = Thread.CurrentThread.CurrentCulture);
var state = new State();
thread.Start(state);
thread.Join();
var culture = state.Result;
// Do something with the culture
}
}
Обратите внимание, что если вам также необходимо сбросить CurrentUICulture, вы должны сделать это отдельно
Thread.CurrentThread.CurrentUICulture.ClearCachedData()
Попробуйте найти нужные настройки в SystemInformation
или изучите WMI с помощью классов в System.Management/System.Diagnostics
, вы также можете использовать LINQ to WMI
Thread.CurrentThread.CurrentCulture.ClearCachedData ()
похоже, что это приведет к повторному считыванию данных о культуре при следующем доступе.