SVN: существует ли способ отметить файл, поскольку “не фиксируют”?

Я думаю, что проблема в основном связана с тем, что мой «последний» тег докера указывал на изображение, которое было для предыдущей версии spark (v2.3.2). Кажется, что способ, которым контейнер получает параметры от spark-submit и kubernetes, немного изменился. Мои оставшиеся проблемы запуска спарк-конвейеров, похоже, связаны с serviceAccounts (и, вероятно, относятся к другому вопросу).

153
задан bahrep 6 August 2014 в 13:53
поделиться

6 ответов

Подрывная деятельность не имеет встроенного, "не фиксируют" / "игнорируют на фиксации" функцию, по состоянию на февраль 2016 / версия 1.9. Этот ответ является неидеальным обходным решением командной строки

Как состояния OP, TortoiseSVN имеет созданный в changelist, "проигнорируйте на фиксации", который автоматически исключен из фиксаций. у клиента командной строки нет этого, таким образом, необходимо использовать несколько changelists для выполнения этого того же поведения (с протестами) :

  • один для работы Вы хотите фиксировать [работают]
  • один для вещей, которые Вы хотите проигнорировать [игнорируют на фиксации]

, Так как существует прецедент с TortoiseSVN, я использую, "игнорируют на фиксации" в моих примерах для файлов, которые я не хочу фиксировать. Я буду использовать "работу" для файлов, которые я делаю, но Вы могли выбрать любое имя, которое Вы хотели.

Первый, добавьте все файлы к changelist, названному "работой". Это должно быть выполнено от корня Вашей рабочей копии:

svn cl work . -R

Это добавит все файлы в рабочей копии рекурсивно к changelist, названному "работой". Существует недостаток к этому - поскольку новые файлы добавляются к рабочей копии, необходимо будет конкретно добавить новые файлы, или они не будут включены. Во-вторых, если необходимо выполнить это снова, необходимо будет тогда повторно добавить весь Ваш "игнорировать на фиксации" файлы снова. Не идеальный - Вы могли начать поддерживать свое собственное, 'игнорируют' список в файле, поскольку другие сделали.

Затем для файлов Вы хотите исключить:

svn cl ignore-on-commit path\to\file-to-ignore

, поскольку файлы могут только быть в одном changelist, выполнив это дополнение после того, как Ваша предыдущая "работа" добавляет, удалит файл, который Вы хотите проигнорировать от "работы" changelist и вставить ее "игнорирование на фиксации" changelist.

, Когда Вы готовы фиксировать свои измененные файлы, Вы действительно хотите фиксировать, Вы тогда просто добавили бы "-работа статьи" к своей фиксации:

svn commit --cl work -m "message"

Вот то, на что простой пример похож на моей машине:

D:\workspace\trunk>svn cl work . -R
Skipped '.'
Skipped 'src'
Skipped 'src\conf'
A [work] src\conf\db.properties
Skipped 'src\java'
Skipped 'src\java\com'
Skipped 'src\java\com\corp'
Skipped 'src\java\com\corp\sample'
A [work] src\java\com\corp\sample\Main.java
Skipped 'src\java\com\corp\sample\controller'
A [work] src\java\com\corp\sample\controller\Controller.java
Skipped 'src\java\com\corp\sample\model'
A [work] src\java\com\corp\sample\model\Model.java
Skipped 'src\java\com\corp\sample\view'
A [work] src\java\com\corp\sample\view\View.java
Skipped 'src\resource'
A [work] src\resource\icon.ico
Skipped 'src\test'

D:\workspace\trunk>svn cl ignore-on-commit src\conf\db.properties
D [work] src\conf\db.properties
A [ignore-on-commit] src\conf\db.properties

D:\workspace\trunk>svn status

--- Changelist 'work':
        src\java\com\corp\sample\Main.java
        src\java\com\corp\sample\controller\Controller.java
        src\java\com\corp\sample\model\Model.java
M       src\java\com\corp\sample\view\View.java
        src\resource\icon.ico

--- Changelist 'ignore-on-commit':
M       src\conf\db.properties

D:\workspace\trunk>svn commit --cl work -m "fixed refresh issue"
Sending        src\java\com\corp\sample\view\View.java
Transmitting file data .done
Committing transaction...
Committed revision 9.

альтернатива должна была бы просто добавить каждый файл, Вы хотите согласиться на 'работу' changelist и даже не поддержать черный список, но это - большая работа, также. Действительно, единственное простое, идеальное решение - то, если/когда это реализовано в самом SVN. Существует давняя проблема об этом в системе отслеживания ошибок Подрывной деятельности, SVN-2858, в конечном счете это изменяется в будущем.

119
ответ дан Joshua McKinnon 23 November 2019 в 22:06
поделиться
svn propset "svn:ignore" "*.xml" .

эти *.xml шаблон файлов для игнорирования; можно использовать имена каталогов здесь также.

-9
ответ дан Eugene Yarmash 23 November 2019 в 22:06
поделиться

svn:ignore Ваш ответ.

Пример:

$ svn propset svn:ignore -F .cvsignore .
property 'svn:ignore' set on '.'
-1
ответ дан Eugene Yarmash 23 November 2019 в 22:06
поделиться

Выезд changelists, который может предоставить Вам опцию отфильтровать файлы, которые Вы изменили, но не хотите фиксировать. SVN автоматически не пропустит файл, если Вы не скажете ему - и путь, что Вы говорите ему, что этот файл так или иначе отличается от других файлов, должен поместить его в changelist.

действительно требуется больше работы для Вас, и можно только применить changelist к рабочей копии (очевидно, вообразить хаос, который мог последовать, если Вы могли бы подать заявку 'никогда обновление' свойство к пересмотру!).

8
ответ дан gbjbaanb 23 November 2019 в 22:06
поделиться

Я не полагаю, что существует способ проигнорировать файл в репозитории. Мы часто сталкиваемся с этим с web.config и другими конфигурационными файлами.

, Хотя не прекрасный, решение я чаще всего вижу и использование должно иметь .default файл и nant задачу создать локальные копии.

, Например, в repo файл, названный web.config.default, который имеет значения по умолчанию. Тогда создайте nant задачу, которая переименует весь эти web.config.default файлы к web.config, который может тогда быть настроен к локальным значениям. Эту задачу нужно назвать, когда новая рабочая копия получена, или сборка выполняется.

необходимо будет также проигнорировать web.config файл, который создается так, чтобы он не посвящал себя репозиторию.

17
ответ дан Steven Lyons 23 November 2019 в 22:06
поделиться

Конфликтующие файлы не могут быть зафиксированы. Вы можете воспользоваться этим, чтобы ваши личные изменения не попали в репозиторий. Это лучше всего работает с небольшим количеством файлов.

Чтобы получить конфликт для a-файла , ваша рабочая копия (WC) не имеет обновленного a-файла из репозитория и что в a-файле в вашем WC есть изменения, которые находятся в том же месте, что и изменения в репозитории (изменения, которые вы еще не обновляли). Если вы не хотите ждать выполнения вышеуказанных условий, вы можете создать конфликт для a-файла следующим образом:
In working copy 1 (WC1), add a line of text to the top of a-file, such as "make a conflict here". Use the necessary syntax so that you don't break the repository. Commit a-file from WC1. In WC2, add a different line of text to the top of a-file, like "i want a conflict". Update from WC2, and now a-file should be in conflict.

2
ответ дан 23 November 2019 в 22:06
поделиться
Другие вопросы по тегам:

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