Примечание: это может быть дубликатом: "svn list" игнорирует внешние Если вы считаете это так, пожалуйста, отметьте и закройте его.
Разрешает ли SVN или есть инструмент для листинга пути, которые включают в себя внешние объекты?
Я пишу инструмент, позволяющий обрабатывать удаленные svn-репозитории как файловую систему, но в настоящее время при попытке указать путь с внешним источником будет ошибка.
Example:
> svn list svn://example.com/path/external/path
svn: warning: W160013: URL svn://example.com/path/external/path' non-existent in revision 12345
svn: E200009: Could not list all targets because some targets don't exist
В настоящее время я использую обходной путь, который работает примерно так:
traversed = '';
while (file = path.next()) {
if (svn.exists(file))
traversed = path.join(traversed, file);
else if(svn.externals(traversed).includes(file))
traversed = path.join(traversed, file); //Automatically normalizes path
else
throw; //An actually invalid path
}
//Here you can use 'traversed' as an actually valid path
Но, учитывая, что мне постоянно нужно запрашивать здесь что-то с сервера, это не будет хорошо масштабироваться, особенно если inte rnet соединение становится изворотливым.
Я видел пост выше, и похоже, что еще в 2007 году они планировали это исправить, но пока я не могу найти ни исправления, ни инструмента, который бы сделать это более простым способом.
Я использую CentOS с пакетом svn yum (v1.12.2)
Редактировать: мне нужно (при указании пути), чтобы внешние объекты действовали как символические ссылки. Значение
svn list svn://example.com/path1/external/path3
should act same as
svn list svn://example.com/path2/actual_external_path/path3