(Этот ответ был обновлен для соответствия 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 различных способа определить шаблоны файла. Вот сводка с примерами:
global-ignores
: global-ignores
список не будет совместно использован другими пользователями, и это относится ко всему repos Вы контроль на Ваш компьютер. C:\Users\{you}\AppData\Roaming\Subversion\config
Software\Tigris.org\Subversion\Config\Miscellany\global-ignores
и в HKLM
и в HKCU
. ~/.subversion/config
svn:ignore
свойство, которое установлено на каталогах (не файлы): .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
.
значение отличается в дочернем каталоге тогда, значение ребенка полностью переопределяет родителей, таким образом, нет никакого "аддитивного" эффекта.
на корне .
, тогда необходимо изменить его с [1 122] для перезаписи его на дочерних и порожденных каталогах. я отмечаю, что синтаксис командной строки парадоксален.
svn:global-ignores
свойство. Требует (июнь 2013) SVN 1.8: 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 (как используется в их системе меню 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!
Это будет единственным случаем, где необходимо загрузить пакет однажды и установить его на компьютерах всех студентов?
я не могу предположить, что Вы - как обучающая программа - хотите возиться с картой памяти все время.
, Так как несколько загрузок исключены, необходимо будет найти, что путь достигает следующего:
загружают необходимые пакеты (и обновляет/устраняет) однажды к компьютеру обучающей программы, с помощью рекомендуемого пути, который является из репозитория с ap-get
, , SoftwareCenter или синаптический
использует Ваш (обучающая программа) компьютер как локальный репозиторий для установки пакетов на компьютерах студентов через локальная сеть .
, Вы могли бы хотеть взглянуть на генерала практическое руководство AptGet и AptProxy для возможных направлений.
Можно загрузить вино установка Ubuntu от winehq, и можно установить его с командой dpkg -i "path to file"
.
...with a command dpkg -i "path to file"
– JudoWill
14.05.2020, 05:43