Git переименовать каталог в другой регистр с тем же именем, содержащий файлы, которые были изменены всегда

Я понимаю, что этот вопрос очень старый, но я думал, что все равно поделюсь альтернативным решением. Он использует поведение WPF / прикрепленные свойства:

public static class TextBlockExtensions
    {
    public static IEnumerable<Inline> GetBindableInlines ( DependencyObject obj )
        {
        return (IEnumerable<Inline>) obj.GetValue ( BindableInlinesProperty );
        }

    public static void SetBindableInlines ( DependencyObject obj, IEnumerable<Inline> value )
        {
        obj.SetValue ( BindableInlinesProperty, value );
        }

    public static readonly DependencyProperty BindableInlinesProperty =
        DependencyProperty.RegisterAttached ( "BindableInlines", typeof ( IEnumerable<Inline> ), typeof ( TextBlockExtensions ), new PropertyMetadata ( null, OnBindableInlinesChanged ) );

    private static void OnBindableInlinesChanged ( DependencyObject d, DependencyPropertyChangedEventArgs e )
        {
        var Target = d as TextBlock;

        if ( Target != null )
            {
            Target.Inlines.Clear ();
            Target.Inlines.AddRange ( (System.Collections.IEnumerable) e.NewValue );
            }
        }
    }

В вашем XAML используйте его следующим образом:

<TextBlock MyBehaviors:TextBlockExtensions.BindableInlines="{Binding Foo}" />

Это избавляет вас от необходимости наследовать от TextBlock. Он также может работать с использованием ObservableCollection вместо IEnumerable, в этом случае вам нужно будет подписаться на изменения коллекции.

1
задан Vladimir 16 August 2010 в 15:11
поделиться

2 ответа

После часа игры моим решением было удалить testdirectory/a.html и testdirectory/b.html вручную - после этого git сообщил о них как об "удаленных" (на самом деле я не хотел их удалять), но это дало мне возможность сделать git pull и получить изменения, когда проблема была исправлена другим пользователем.

Краткие шаги:

  1. Удаление файлов testdirectory/a.html и testdirectory/b.html
  2. git pull

Примечание: ранее git pull не мог быть выполнен из-за ошибки конфликта слияния.

Я не совсем понял, что произошло, но это решило мою проблему. На мой взгляд, Git все еще довольно сложен, как Perl, и команды в основном отражают внутреннее устройство git, а не намерения пользователя :-)

.
2
ответ дан 2 September 2019 в 22:07
поделиться

Вы можете проверить, переписал ли git окончания строк (git diff показывает, что файл заменен самим собой, только с другими окончаниями строк). В этом случае вам следует изучить Какая лучшая стратегия обработки CRLF (возврат каретки, перевод строки) в Git? .

0
ответ дан 2 September 2019 в 22:07
поделиться
Другие вопросы по тегам:

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