Файл одиночного изображения должен быть SVN Externals

Я пытаюсь добавить изображение как svn:externals, но TortoiseSVN почему-то отказывается от этого.

В настоящее время у меня есть два репозитория на моем локальном диске с именами repoA и repoB. Также есть две проверки рабочих каталогов с именами workA и workB. workA - это касса на repoA, а workB - на кассу на repoB.

Структура такая:

Z: \ репо \ репоА

Z: \ репо \ репоБ

Z: \ Projects \ workA

Z: \ Projects \ workB

Что я сделал:

  1. щелкнул правой кнопкой мыши Z:\Projects\workB -> TortoiseSVN -> Properties
  2. нажата New -> Externals
  3. нажал New, набрал trunk/screenshot.jpg для локального пути и file:///Z:/repos/repoA/trunk/screenshot.jpg для URL.

    введите описание изображения здесь

    введите описание изображения здесь

  4. нажал OK, чтобы закрыть все окна настроек.

  5. щелкнул правой кнопкой мыши Z:\Projects\workB -> SVN Commit..
  6. щелкнул правой кнопкой мыши Z:\Projects\workB -> SVN Update..

И я получаю такую ​​ошибку:

Z: \ Projects \ workB \ trunk \ screenshot.jpg

Неподдерживаемый внешний: URL внешнего файла

'file: /// Z: /repos/repoA/trunk/screenshot.jpg' отсутствует в репозитории

'файл: /// Z: / repos / repoB'

введите описание изображения здесь

Когда я фиксирую новое изменение на workB/trunk, изображение не обновляется. Таким образом, выполнение SVN Update на workB/trunk не импортирует изображение из repoA. У меня также есть папка, импортированная как svn:externals, и файлы в ней импортируются правильно. Поэтому я подозреваю, что нельзя указать один файл. Я не знаю.

В репо-браузере настоящего файла нет, есть только файл ссылки.

введите описание изображения здесь

В repoA есть файл реального изображения, хотя ошибка говорит, что его нет.

введите описание изображения здесь

Так можно ли это сделать? Или я не так делаю?

Обновить

Согласно этой статье,

Subversion 1.6 также представила поддержку внешних определений для файлов. Внешние файлы настраиваются так же, как внешние для каталогов, и отображаются в рабочей копии как версионные файлы.

Например, предположим, что у вас есть файл /trunk/bikeshed/blue.html в вашем репозитории, и вы хотите, чтобы этот файл, как он появился в версии 40, отображался в вашей рабочей копии / trunk / www / как green.html .

Кажется, это возможно с v1.6 или выше. И я использую svn, версия 1.7.6 (r1370777). Дополнительные ссылки:


person Teno    schedule 14.10.2012    source источник


Ответы (2)


Я думаю, это потому, что вы не можете использовать функцию внешних файлов между двумя разными репозиториями (RepoA и repoB в вашем примере).

Ознакомьтесь с этим ограничением в официальном документе:
http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-externals.html

Абстрактный:

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

person TridenT    schedule 14.10.2012
comment
you can't use external files feature between two different repositories - Для меня это не имеет смысла, потому что папка lib является внешней и импортирована из repoA. Файлы Ahd в папке lib импортируются без ошибок. Как я настроил папку lib как svn: externals, описано в этом вопросе: stackoverflow.com/questions/12861082/ - person Teno; 15.10.2012
comment
Внешние файлы (прямые внешние в файл) - это отличная функция от внешних папок (с файлами внутри). Может в этом вы запутались? - person TridenT; 15.10.2012
comment
Externals files (direct external on file) is a different feature from Externals folders (with files inside). - вот в чем вопрос. Где говорится, что файл не может быть внешним, а каталог может (также могут файлы в каталоге)? - person Teno; 15.10.2012
comment
Согласно этой статье, Subversion 1.6 also introduced support for external definitions for files. File externals are configured just like externals for directories and appear as a versioned file in the working copy. Также на этой странице сообщается, что у SVN возникла проблема с внешними файлами в более ранних версиях до v1.6. Я запустил svn --version, и там написано svn, version 1.7.6 (r1370777) Так что версия, которую я использую, кажется подходящей. - person Teno; 15.10.2012
comment
Я предполагаю, что это ограничение подрывных клиентов, а не подрывного сервера. Где мне посмотреть, планируют ли хранители подрывной деятельности исправить это? Переход с 1.8.13 на 1.9.2, похоже, не решил проблему. - person 2NinerRomeo; 24.11.2015

У меня была такая же проблема, кажется, что раньше вы могли иметь внешние файлы в Subversion 1.6, но эта «ошибка» теперь исправлена ​​в Subversion 1.7! и вы можете иметь только внешние папки из одного репо в другое, а НЕ файлы

person Dwaindibbley    schedule 04.05.2013