Как игнорировать файлы в Subversion?

Вот версия Swift:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
    if (touch.view!.isKindOfClass(UIButton)) {
        return false
    }
    return true
}

Не забудьте:

  1. Сделайте ваш класс совместимым с UIGestureRecognizerDelegate
  2. Сделайте свой делегат объекта-манипулятора (например: tapper.delegate = self)
612
задан Peter Mortensen 15 April 2015 в 16:19
поделиться

6 ответов

(Этот ответ был обновлен для соответствия SVN 1.8 и 1.9's поведение)

, у Вас есть 2 вопроса:

отмечающие файлы, как проигнорировано:

"проигнорированным файлом" я подразумеваю, что файл не появится в списках, как раз когда "неимеющий версию": Ваш клиент SVN притворится, что файл не существует вообще в файловой системе.

Проигнорированные файлы определяются "шаблоном файла". Синтаксис и формат шаблонов файла объяснены в онлайн-документации SVN: http://svnbook.red-bean.com/nightly/en/svn.advanced.props.special.ignore.html "Шаблоны файла в Подрывной деятельности".

Подрывная деятельность, с версии 1.8 (июнь 2013) и позже, поддерживает 3 различных способа определить шаблоны файла. Вот сводка с примерами:

1 - опция Runtime Configuration Area - global-ignores:

  • Это клиентское [только 1 179] установка, таким образом, Ваш global-ignores список не будет совместно использован другими пользователями, и это относится ко всему repos Вы контроль на Ваш компьютер.
  • Эта установка определяется в Вашем файле области Конфигурации Во время выполнения:
    • (основанный на файле) Windows - C:\Users\{you}\AppData\Roaming\Subversion\config
    • (основанный на реестре) Windows - Software\Tigris.org\Subversion\Config\Miscellany\global-ignores и в HKLM и в HKCU.
    • Linux/Unix - ~/.subversion/config

2 - svn:ignore свойство, которое установлено на каталогах (не файлы):

  • Это хранится в repo, таким образом, у других пользователей будет то же, игнорируют файлы. Подобный, к как .gitignore работы.
  • svn:ignore применяется к каталогам и нерекурсивен или наследован. Любой файл или непосредственный подкаталог родительского каталога, который соответствует Шаблону Файла, будет исключен.
  • , В то время как SVN 1.8 добавляет понятие "унаследованных свойств", svn:ignore, само свойство проигнорировано в ненепосредственных порожденных каталогах:

    cd ~/myRepoRoot                             # Open an existing repo.
    echo "foo" > "ignoreThis.txt"                # Create a file called "ignoreThis.txt".
    
    svn status                                  # Check to see if the file is ignored or not.
    > ?    ./ignoreThis.txt
    > 1 unversioned file                        # ...it is NOT currently ignored.
    
    svn propset svn:ignore "ignoreThis.txt" .   # Apply the svn:ignore property to the "myRepoRoot" directory.
    svn status
    > 0 unversioned files                       # ...but now the file is ignored!
    
    cd subdirectory                             # now open a subdirectory.
    echo "foo" > "ignoreThis.txt"                # create another file named "ignoreThis.txt".
    
    svn status
    > ?    ./subdirectory/ignoreThis.txt        # ...and is is NOT ignored!
    > 1 unversioned file
    

    (Таким образом, файл ./subdirectory/ignoreThis не проигнорирован, даже при том, что" ignoreThis.txt" применяется на . корень repo).

  • Поэтому для применения черного списка рекурсивно необходимо использовать svn propset svn:ignore <filePattern> . --recursive.

    • Это создаст копию свойства на каждом подкаталоге.
    • , Если эти <filePattern> значение отличается в дочернем каталоге тогда, значение ребенка полностью переопределяет родителей, таким образом, нет никакого "аддитивного" эффекта.
    • Поэтому, если Вы изменяетесь <filePattern> на корне ., тогда необходимо изменить его с [1 122] для перезаписи его на дочерних и порожденных каталогах.
  • я отмечаю, что синтаксис командной строки парадоксален.

    • я начался, предположив, что Вы проигнорируете файл в SVN путем ввода чего-то как [1 123] однако, это не то, как SVN's игнорирует работы функции.

3-svn:global-ignores свойство. Требует (июнь 2013) SVN 1.8:

  • Это подобно [1 125], кроме него использует SVN 1.8's функция "унаследованных свойств".
  • Выдерживают сравнение с [1 126], шаблон файла автоматически применяется в каждом порожденном каталоге (не только непосредственные дети).
    • Это означает, что это является ненужным для установки svn:global-ignores с эти --recursive, флаг, столь наследованный, игнорирует шаблоны файла, автоматически применяются, как они наследованы.
  • Выполнение того же набора команд как в предыдущем примере, но использовании svn:global-ignores вместо этого:

    cd ~/myRepoRoot                                    # Open an existing repo
    echo "foo" > "ignoreThis.txt"                       # Create a file called "ignoreThis.txt"
    svn status                                         # Check to see if the file is ignored or not
    > ?    ./ignoreThis.txt
    > 1 unversioned file                               # ...it is NOT currently ignored
    
    svn propset svn:global-ignores "ignoreThis.txt" .
    svn status
    > 0 unversioned files                              # ...but now the file is ignored!
    
    cd subdirectory                                    # now open a subdirectory
    echo "foo" > "ignoreThis.txt"                       # create another file named "ignoreThis.txt"
    svn status
    > 0 unversioned files                              # the file is ignored here too!
    

Для пользователей TortoiseSVN:

Это целое расположение сбивало с толку меня, потому что терминология TortoiseSVN (как используется в их системе меню Windows Explorer) первоначально вводила в заблуждение мне - я был не уверен, что значение меню Ignore, "Добавляют рекурсивно", опции "Add *" и "Add". Я надеюсь, что это сообщение объясняет, как функция Ignore соединяется к функции SVN Properties. Однако я предлагаю использовать командную строку для установки проигнорированных файлов, таким образом, Вы получаете ощущение того, как она работает вместо того, чтобы использовать GUI, и только использовать GUI для управления свойствами после того, как Вы довольны командной строкой.

файлы Списка, которые проигнорированы:

команда svn status скроет проигнорированные файлы (то есть, файлы, которые соответствуют шаблону RGA global-ignores, или соответствуют шаблону каталога svn:ignore непосредственного родителя или соответствуют шаблону любого ancesor каталога svn:global-ignores.

Использование --no-ignore опция видеть те перечисленные файлы. Проигнорированные файлы имеют состояние [1 135], затем передают вывод по каналу к [1 136], чтобы только показать строки, запускающиеся с "I".

команда:

svn status --no-ignore | grep "^I"

, Например:

svn status
> ? foo                             # An unversioned file
> M modifiedFile.txt                # A versioned file that has been modified

svn status --no-ignore
> ? foo                             # An unversioned file
> I ignoreThis.txt                  # A file matching an svn:ignore pattern
> M modifiedFile.txt                # A versioned file that has been modified

svn status --no-ignore | grep "^I"
> I ignoreThis.txt                  # A file matching an svn:ignore pattern

ta-da!

713
ответ дан Zulan 15 April 2015 в 16:19
поделиться

Используйте команду svn состояние на Вашей рабочей копии для проявления состояния файлов, файлы, которые еще не являются объектом управления версиями (и не проигнорированные) будут иметь вопросительный знак рядом с ними.

Что касается игнорирования файлов необходимо отредактировать svn:ignore свойство, прочитать главу, Игнорирующую Неимеющие версию Объекты в svnbook в http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html . Книга также описывает больше об использовании svn состояние.

2
ответ дан Andreas Holstenson 15 April 2015 в 16:19
поделиться

svn status скажет Вам, какие файлы не находятся в SVN, а также что изменяется.

Взгляд свойства SVN для проигнорировать свойства.

Для всех вещей SVN, Красная книга требуется, читая.

3
ответ дан Peter Mortensen 15 April 2015 в 16:19
поделиться

Можно также установить глобальное, игнорируют шаблон в конфигурационном файле SVN.

3
ответ дан petr k. 15 April 2015 в 16:19
поделиться

Если Вы используете TortoiseSVN, щелкните правой кнопкой по файлу и затем выберите , TortoiseSVN / Добавляют к черному списку . Это добавит файл/подстановочный знак к svn:ignore свойство.

svn:ignore будет проверен, когда Вы регистрируетесь в файлах и соответствуете файлам, будет проигнорирован. У меня есть следующий черный список для проекта Visual Studio.NET:

bin obj
*.exe
*.dll
_ReSharper
*.pdb
*.suo

можно найти этот список в контекстном меню в TortoiseSVN / Свойства .

47
ответ дан Rory O'Kane 15 April 2015 в 16:19
поделиться

Что работало на меня:

, Как я игнорирую файлы в Подверсии?
1. В Файловом менеджере щелкните правой кнопкой по имени папки
2 проекта SVN. Нажмите на "SVN Commit..."
3. Окно "фиксации" появится
4. Щелкните правой кнопкой по папке/файлу, которую Вы хотите проигнорировать
5. Нажмите на Add к черному списку
6. Выберите папку/файл
7. Передайте "изменение свойства" в SVN

кроме того, как я нахожу файлы, которые не являются объектом управления версиями?
После Шага 3 выше, нажмите на "Show unversioned files"

0
ответ дан 22 November 2019 в 21:55
поделиться
Другие вопросы по тегам:

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