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

"svn log", не отображающий все последние коммиты

Примечание. Это, вероятно, нелегко для опытных пользователей SVN, но он довольно сильно меня озадачил... так что надеюсь, что это поможет кому-то, как я!

После выдачи svn log из командной строки я заметил, что несколько недавних сообщений фиксации отсутствовали. Я знал, что эти сообщения были правильно сохранены в моем репозитории, потому что они отображались в моем SVN-клиенте (RapidSVN). Я просто не мог понять, почему они не будут видны с помощью командной строки svn.

Ответ ниже...

4b9b3361

Ответ 1

Проблема была связана с моим плохим пониманием того, что показывал svn log. При отсутствии других аргументов он выводит сообщения журнала из рабочей копии журнала, а не из реального репозитория. Таким образом, выдача svn update приведет к обновлению рабочей копии с репозиторией, а затем svn log будет отражать все последние коммиты. Duh!; -)

Ответ 2

Если вы хотите просмотреть полный журнал без обновления (как это иногда бывает при работе с старой версией), вы можете запустить:

svn log -r HEAD:0

Или, для упрощения просмотра:

svn log -r HEAD:0 | less

Ответ 3

Вы также можете явно указать svn log для перехода на сервер, указав URL-адрес хранилища.

например

svn log svn://your-server/trunk

Или в более общем и кратком виде:

svn log ^/

Ответ 4

Я столкнулся с той же проблемой сегодня и был в ужасе, думая, что потерял свои изменения.

Это происходит только из-за странности подрывной деятельности. Существует концепция рабочей копии, для которой задана ревизия, которая была первоначально извлечена. Редакция рабочей копии не изменяется новыми коммитами. svn update требуется для обновления/синхронизации редакции рабочей копии с хранилищем. Не уверен, что я хотел бы сделать это в каждом сценарии.

PS: git намного лучше.