Что такое промежуточные каталоги в SVN?

Я только начал изучать SVN. Пожалуйста, дайте мне ваш совет, чтобы понять основную теорию ниже.

Команда svn copy и svn move имеет опцию --parents. Он говорит без опции --parents, он не создавал бы intermediate directories.

Может ли кто-нибудь сказать мне, что intermediate directories?

Ответ 1

Допустим, вы только что создали новый проект Java в Subversion. Теперь у вас пустой каталог, и вы хотите создать каталог для ваших исходных файлов. Мне нравится следовать структуре каталога Maven, даже если Im не использует Maven. Maven говорит, что мои исходные файлы должны находиться в каталоге src/main/java. Поскольку моя компания VegiBank.com, и это их основной проект, я хочу создать каталог src/main/java/com/vegibank/foundation. Я мог бы сделать это:

$ svn mkdir src
$ svn mkdir src/main
$ svn mkdir src/main/java
$ svn mkdir src/main/java/com
$ svn mkdir src/main/java/com/vegibank
$ svn mkdir src/main/java/com/vegibank/foundation

Мне нужно сначала создать каталог, чтобы создать подкаталог. Однако с параметром --parents я могу заменить все из них одной командой:

$ svn mkdir --parents src/main/java/com/vegibank/foundation

Это делает полное дерево каталогов без меня, создавая каждый отдельный подкаталог по одному.

Ответ 2

См. mkdir -p для функции svn - это имитация.

svn cp foo bar/baz/foo

Если bar или bar/baz не существует, копия не будет выполнена.

svn cp --parents foo bar/baz/foo

Если bar и/или bar/baz не существуют, они будут созданы автоматически.