2015-10-07 3 views
0

Я автоматизирую процесс, когда мне нужно добавить/удалить некоторые файлы из репозитория SVN. Однако скрипт терпит неудачу, когда я пытаюсь зафиксировать изменения. Некоторая информация о моей SVN версии & сообщение об ошибке, я получаю это -Ошибка SVN не выполняется из сценария bash

$ svn --version 
svn, version 1.6.11 (r934486) 
compiled May 31 2011, 06:01:42 

Copyright (C) 2000-2009 CollabNet. 
Subversion is open source software, see http://subversion.tigris.org/ 
This product includes software developed by CollabNet (http://www.Collab.Net/). 

The following repository access (RA) modules are available: 

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon. 
- handles 'http' scheme 
- handles 'https' scheme 
* ra_svn : Module for accessing a repository using the svn network protocol. 
- with Cyrus SASL authentication 
- handles 'svn' scheme 
* ra_local : Module for accessing a repository on local disk. 
- handles 'file' scheme 

$ 

ошибка, что я получаю это -

svn: '<working directory>/all' is not under version control 

У меня нет файла (или) каталог с именем «все "в папке. Я попытался с помощью следующей команды, а также -

svn commit --targets $changelistFile -m $commitMessage 

где $ changelistFile содержит все файлы, которые должны быть соответствующие меры. Они содержат как добавленные & удаляет. Я все равно получаю ту же ошибку. Если я запустил команду «svn commit» из оболочки bash (после того, как мой скрипт завершился с ошибкой), она будет успешной, однако изнутри скрипта она не удастся.

фрагмент кода Баш -

if [[ $numAdded -gt 0 ]] || [[ $numRemoved -gt 0 ]]; then 
      svn commit --targets $changelistFile -m $commitMessage 
fi 

Любая помощь в решении этого вопроса было бы очень полезно.

обновление -

Файл "$ changelistFile" не содержит всех. Содержимое файла

data/2015_10_05_yyyyy_data.cql 
test_consolidated_scripts/test_20151007.cql 

Я попробовал команду

svn commit --targets "$changelistFile" -m $commitMessage 

и это не помогло.

+1

Это немного не по теме, но Subversion 1.6.x не поддерживается в течение двух лет с Subversion 1.8.0 релиз: http://subversion.apache.org/docs/release-notes/1.8.html –

+0

да, к сожалению, это версия, установленная на наших серверах. Я мог бы настроить собственную локальную подрывную деятельность, но еще не сделал этого. – karthik

ответ

2

Имеет ли $commitMessage слово "все"? Файл и сообщение должны быть указаны в случае, если они содержат пробелы.

svn commit --targets "$changelistFile" -m "$commitMessage" 
+0

добавил информацию, которую вы запросили, в качестве обновления для моего исходного сообщения. Думал, что это было бы полезно дополнительно к самому оригинальному сообщению. – karthik

+0

На самом деле я решил проблему. Спасибо за отзыв Джон. Мне пришлось добавить "" к моему $ commitMessage. Я неправильно понял ваше предложение, поскольку я был слепым :-). Он решил проблему, и я принимаю ваше предложение в качестве своего ответа. – karthik

Смежные вопросы