Как одурачить мерзавца-svn для распознавания слияний, сделанных с svn?

это работает для меня

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:NO];
}

нужно только в self.view иметь UItextField

http://objdev.com/2013/11/Dismissing-iOS- Клавиатура-Self-View-EndEditing

5
задан Antti Rasinen 2 June 2009 в 05:44
поделиться

3 ответа

Дополнительной альтернативой может быть использование файла Grafts, который позволяет вам переопределить родителей коммита без фактического изменения истории.

Это означает, что после того, как вы увидите слияние в репозитории SVN, вам просто нужно добавить строку в .git / info / grafts с SHA-1 коммита слияния (M) и его родителей (A, B) .

      o-...-A---o---D--- unstable
     /       
    X-----B---M---o---o--- stable

A = 31423cd8a838f984547a908777308d846043cbda
B = d99cfccb1f859a8f1dbfac95eec75227fe518b23
M = 13319a54d3e3d61b501e7cc6474c46f37784aaa3

Чтобы создать ссылку из AM, вы должны указать родителей M как B и A. Формат файла графтов довольно прост:

commit newparent1 ... newparentN

Это означает, что вы добавляете следующую (довольно длинную) строку в ваши графты. file:

13319a54d3e3d61b501e7cc6474c46f37784aaa3 d99cfccb1f859a8f1dbfac95eec75227fe518b23 31423cd8a838f984547a908777308d846043cbda

Git теперь будет делать вид, что это слияние действительно произошло. Как недостаток, это не распространяется через git push / fetch / clone, но это не должно '

2
ответ дан 14 December 2019 в 19:23
поделиться

Ваша проблема немного похожа на SVN, заполняющий svnmergeinfo из git merges в обратном порядке:
Вы не хотите, чтобы SVN записывал слияния из Git, но Git должен записывать слияния из SVN;)

Поскольку git-svn не заботится об атрибуте svnmergeinfo при импорте из SVN, которые оставляют вариант «ручного управления».

Я бы не рекомендовал решение git-filter-branch или что-нибудь, что переписывает историю на стороне Git.
Если вам известно о слиянии « A-> B » на SVN, вам следует выполнить это слияние на Git ** в ветке «слияния», а затем снова слить его обратно в стабильную ветку (тривиально объединить в этот момент), таким образом добавив новый коммит к вашей текущей стабильной истории.

    o-.....-A---o---C--- unstable
   /         \
  /           o-------\__ merge recorder branch
 /           /         \
X---.....---B---o---o---o__ stable

Тогда слияние из C в стабильное должно иметь A в качестве общего предка.

2
ответ дан 14 December 2019 в 19:23
поделиться

Берегись графтов напильником тыс.

  1. Сделайте их неправильно, и git gc (через некоторое время) сбросит часть истории.
  2. Если вы отправите запрос на другой хост, он не узнает о трансплантатах и ​​может закончиться ошибкой истории.
0
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: