Я установил Apache2 / Subversion v1.9.3 на экземпляр Azure Ubuntu 16.04, используя описанный подход здесь .
Я настроил SSL в sites-available/[sitename].conf
и могу подключитьсяудаленно используя Firefox и TortoiseSvn.
Если я создаю репо на локальной файловой системе сервера, все работает отлично - я могу импортировать файлы в репозиторий с помощью TortoiseSvn без ошибок.
Если заменить репо наодин, размещенный в хранилище файловой службы Azure, с:
sudo mount -t cifs //[].file.core.windows.net/svn /mnt/svn -o vers=3.0,username=[],password=[],dir_mode=0777,file_mode=0777,sec=ntlmssp,uid=www-data,gid=www-data
... отчетами SVN о черепахах post commit FS processing had error: Couldn't open rep-cache database
/var/log/apache/error.log
содержит следующее:
[Sat May 26 15:12:00.994705 2018] [:error] [pid 11577:tid 140074997974784] (20014)Internal error (specific information not available): [client 77.144.98.30:55324] Couldn't open rep-cache database
[Sat May 26 15:12:00.994745 2018] [:error] [pid 11577:tid 140074997974784] (20014)Internal error (specific information not available): [client 77.144.98.30:55324] -Couldn't perform atomic initialization
[Sat May 26 15:12:00.994749 2018] [:error] [pid 11577:tid 140074997974784] (20014)Internal error (specific information not available): [client 77.144.98.30:55324] -sqlite[S5]: database is locked, executing statement 'CREATE TABLE rep_cache ( hash TEXT NOT NULL PRIMARY KEY, revision INTEGER NOT NULL, offset INTEGER NOT NULL, size INTEGER NOT NULL, expanded_size INTEGER NOT NULL ); PRAGMA USER_VERSION = 1; '
[Sat May 26 15:12:02.713630 2018] [:error] [pid 11577:tid 140075207550720] (20014)Internal error (specific information not available): [client 77.144.98.30:55324] Couldn't open rep-cache database
[Sat May 26 15:12:02.713658 2018] [:error] [pid 11577:tid 140075207550720] (20014)Internal error (specific information not available): [client 77.144.98.30:55324] -Couldn't perform atomic initialization
[Sat May 26 15:12:02.867911 2018] [:error] [pid 11577:tid 140075207550720] (20014)Internal error (specific information not available): [client 77.144.98.30:55324] Couldn't open rep-cache database
[Sat May 26 15:12:02.867922 2018] [:error] [pid 11577:tid 140075207550720] (20014)Internal error (specific information not available): [client 77.144.98.30:55324] -Couldn't perform atomic initialization
[Sat May 26 15:12:03.801075 2018] [:error] [pid 11577:tid 140075207550720] (20014)Internal error (specific information not available): commit of r1 succeeded, but an error occurred after the commit: 'post commit FS processing had error:\nCouldn't open rep-cache database'
Этот вопрос , кажется, решает ту же проблему, однако мне не ясно, возможно ли изменить порядок загрузки модуля в Apache2, поскольку конфигурация модуля основана на содержимом mods-enabled/*.load
.
Права доступа к файлам в директории репозитория представляются разумными ... хотя существует несколько файлов нулевого размера:
-rwxrwxrwx 1 www-data www-data 2 May 26 15:12 current
-rwxrwxrwx 1 www-data www-data 41 May 26 15:08 format
-rwxrwxrwx 1 www-data www-data 10178 May 26 15:08 fsfs.conf
-rwxrwxrwx 1 www-data www-data 5 May 26 15:08 fs-type
-rwxrwxrwx 1 www-data www-data 2 May 26 15:08 min-unpacked-rev
-rwxrwxrwx 1 www-data www-data 0 May 26 15:11 rep-cache.db
-rwxrwxrwx 1 www-data www-data 0 May 26 15:12 rep-cache.db-journal
drwxrwxrwx 2 www-data www-data 0 May 26 15:08 revprops
drwxrwxrwx 2 www-data www-data 0 May 26 15:08 revs
drwxrwxrwx 2 www-data www-data 0 May 26 15:08 transactions
-rwxrwxrwx 1 www-data www-data 2 May 26 15:11 txn-current
-rwxrwxrwx 1 www-data www-data 0 May 26 15:08 txn-current-lock
drwxrwxrwx 2 www-data www-data 0 May 26 15:08 txn-protorevs
-rwxrwxrwx 1 www-data www-data 74 May 26 15:08 uuid
-rwxrwxrwx 1 www-data www-data 0 May 26 15:08 write-lock
Однако, если возникла проблема спорядок загрузки модулей, я думаю, проблема возникнет, независимо от того, находится ли репозиторий в локальной или смонтированной файловой системе.
Это правильный подход для хранения данных репозитория Subversion в Azure?
Любое понимание или руководство о том, как лучше диагностировать / решить проблему, будет приветствоваться.