1

Я работаю над огромным проектом, который использует SVN, и в последнее время мы внесли некоторые изменения в наш стандарт кодирования.
Теперь мой вопрос: возможно ли зафиксировать изменения, такие как добавление пробелов, где это необходимо, или изменить вкладки на пробелы, не нарушая информацию svn blame/svn annotete?

Пример:
У меня сейчас что-то вроде:

  5061    someone     return SUCCESS;
  5061    someone }
  6904   someone2
  6904   someone2 int someFunction(long seqNum)
  6904   someone2 {
  6904   someone2     void* msg_buffer = NULL;
  6904   someone2     Address source = AddressGet(someId,messageIdGet());

и я хотел бы добавить пробел и переместить звездочки слева направо

  5061    someone     return SUCCESS;
  5061    someone }
  6904   someone2
  6904   someone2 int someFunction(long seqNum)
  6904   someone2 {
  7123         me     void *msg_buffer = NULL;
  7123         me     Address source = AddressGet(someId, messageIdGet());

Могу ли я сделать это, но оставить информацию о svn annotate/ svn blame, указывающую на «кто-то2» вместо "я"?

2 ответа2

1

Нет, ваш коммит всегда будет частью истории, и по умолчанию он будет влиять на вывод вины. Я даже не уверен, что вы хотите: что, если вы допустите ошибку при применении этих изменений стандартов?

Тем не менее, вы можете использовать опции обвинения, чтобы игнорировать пробелы. В частности, svn blame принимает флаг --extensions, так что вы можете сделать это (например):

svn blame --extensions --ignore-all-space file.c
0
  1. Каждая ревизия SVN имеет 3 неверсионных свойства по умолчанию
svn:author
svn:date
svn:log
  1. Вы можете изменить свойство revision:
    • со стороны клиента, используя вторую форму propset (но в любом случае, на стороне хранилища должен быть создан правильный хук pre-revprop-change): подробное описание
    • из хранилища, используя svnadmin setrevprop

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .