LINUX.ORG.RU

svn ci Изменяет права доступа к файлу????


0

1

Привет всем. Не понятное действие svn ci Мне необходимо хранить под контролем версий файл который должен иметь определенные свойства

[root@sasha tmp]# ls -al
-r--r----- 1 root root   19 июля  21 11:06 test
после выполнения фиксации изменений изменяются права на файл test
[root@sasha tmp]# svn ci -m "Очередная фиксация"
Adding         test
Transmitting file data .
Committed revision 36.
[root@sasha tmp]# ls -al
drwxr-xr-x 2 root root 4096 июля  21 11:06 .
Так и должно происходить или это баг Кто либо с таким сталкивался
[root@sasha tmp]# svn --version
svn, version 1.7.5 (r1336830)
   compiled May 22 2012, 12:54:01

Не работай под рутом, с-ка.

anonymous ()
Ответ на: комментарий от tazhate

Я всех спрашивал об не понятном для меня поведении svn ci. Вместо этого меня пытаются учить что под рутом это делать не надо?

Вопрос о том почему svn ci меняет права доступа на файл. Почему? И сталкивался либо кто с таким поведением

[sasha@sasha bin]$ ls -al test 
-r--r----- 1 sasha sasha 5 июля  21 13:18 test
[sasha@sasha bin]$ svn add test
A         test
[sasha@sasha bin]$ sudo svn ci -m "Test"
Adding         test
Transmitting file data .
Committed revision 37.
[sasha@sasha bin]$ ls -al test 
-rw-r--r-- 1 sasha sasha 5 июля  21 13:18 test
sashazmey ()
Ответ на: комментарий от sashazmey

Возможно это из-за того, что в svn есть механизм блокировок. Типа можно поставить на файл специальное свойство, что он становится редактируемым только при явной блокировке. Это нужно, чтобы избежать проблем с мёржем бинарных файлов. У тебя, похоже, ситуация наоборот - раз файл не блокируемый, то его можно редактировать.

Biga ()
Ответ на: комментарий от ma1uta

Согласно источника http://stackoverflow.com/questions/5953169/avoid-having-subversion-modify-lin... изменение прав доступа и пользователя при svn ci происходит штатно.

Для себя решил данный вопрос в обход

[sasha@sasha bin]$ ls -al test
-r--r----- 1 sasha sasha 8 июля  21 15:15 test
[sasha@sasha bin]$ getfacl test > /tmp/test
[sasha@sasha bin]$ sudo svn ci -m "Настройка ~/bin"
Sending        test
Transmitting file data .
Committed revision 44.
[sasha@sasha bin]$ setfacl --restore=/tmp/test
[sasha@sasha bin]$ ls -al test
-r--r----- 1 sasha sasha 8 июля  21 15:15 test
Может у кого есть более красивее решения. Подкинте.

sashazmey ()
Ответ на: комментарий от sashazmey

по той же ссылке предлагают написать обёртку для svn, например создать файл /usr/bin/svn

#!/bin/sh

# set umask, whatever else you need to do before svn commands

/opt/svn/svn $* # pass all arguments to the actual svn binary, stored outside the PATH

# run chmod, whatever else you need to do after svn commands
chmod 440 test

ma1uta ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.