Подтвердить что ты не робот

Есть ли способ отменить изменения свойств svn для файла, не возвращая изменения в содержимое файла?

После слияния я могу иметь как изменения содержимого, так и изменения свойств файла:

> svn st foo.h

ММ       foo.h

Есть ли способ сохранить изменения контента, но вернуть изменения свойств?

Я мог бы скопировать файл во временное место, вернуться, а затем скопировать обратно:

> cp foo.h/tmp

> svn revert foo.h

> mv -f/tmp/foo.h foo.h

> svn st foo.h

M       foo.h

Но это было бы громоздким для многих файлов без написания отдельного script.

Я надеялся, что может быть опция svn, которую я пропустил.

4b9b3361

Ответ 1

Извините, я не знаю, как просто вернуть свойства... Но если бы я столкнулся с такой ситуацией, я бы начал работать:

$ svn proplist -v -r $REV foo.h
... # output, which I would copy to the clipboard
$ svn propedit foo.h
... paste in properties ...

И это может быть даже написано сценарием, если вам нужно вернуть свойства для кучи файлов.

Ответ 2

Сегодня утром я оказался в этой ситуации. Здесь bash script, который выполняет трюк...

for f in $( svn st . | grep '^MM' | cut -c 3- )
do 
   cp $f $f.$$ && svn revert $f && mv $f.$$ $f 
done

Ответ 3

Невозможно просто вернуть свойства. Svn Commits - это как транзакция, либо все возвращены, либо ничего не вернулось. Если вы все еще настаиваете на этой работе, попробуйте, что Давид опубликовал в качестве первого ответа.