Как переключиться назад на предыдущую версию файла, не удаляя его последующие изменения?

Вам нужно добавить [FromBody] перед параметром в действие

[HttpPost]
public ActionResult Index([FromBody]LetterViewModel model)
{ 
    //model.LetterText == null
    return View(model);
}
11
задан Ashish Ahuja 8 May 2016 в 10:32
поделиться

7 ответов

У меня нет большого опыта с Подверсией, поэтому извините меня, если этот метод не работает в этой среде.

В этой ситуации я выполняю эти шаги:

  1. Проверьте рассматриваемый файл, готовый к редактированию как r4
  2. Перезапишите свою локальную копию файла с пересмотром, которого Вы требуете, в этом случае r2
  3. Регистрация / фиксирует этот "новый" пересмотр файла как r5 с соответствующим комментарием

Этот путь при прохождении через истории файла, Вы будете видеть что-то как:

  • r1
  • r2
  • r3
  • r4
  • r5 (комментарий: "вернувшийся к r2 содержанию")
3
ответ дан 3 December 2019 в 01:04
поделиться

Для создания нового пересмотра A.txt, который равен пересмотру 2:

svn up -r HEAD
svn merge -r HEAD:2 A.txt
svn commit

Также см. описание в отмене изменений.

26
ответ дан 3 December 2019 в 01:04
поделиться

Команда svn up -r 4 только обновляет Вашу локальную копию к пересмотру 4.

Сервер все еще имеет все версии 1 до что.

То, что Вы хотите сделать, создают новый пересмотр, пересмотр номер 5, который идентичен пересмотру номер 2.

cd /repo 
svn up -r 2 
cp /repo/file /tmp/file_2 
svn up -r 4 
cp /tmp/file_2 /repo/file 
svn commit -m "Making 5 from 2" 

Если Вы когда-нибудь передумали и хотите 4 назад, можно сделать так путем создания пересмотра 6 от пересмотра 4.

cd /repo 
svn up -r 4
cp /repo/file /tmp/file_4
svn up -r 5 
cp /tmp/file_4 /repo/file 
svn commit -m "Making 6 from 4" 

Счастливое взламывание.

(существует, конечно, способ сделать вышеупомянутое только в 2 командах, которым я верю, но его некоторое время, так как я сделал это и это может немного сбивать с толку),

10
ответ дан 3 December 2019 в 01:04
поделиться
svn update -r 2 A.txt

Эта команда не удалит версий в репозитории. Это установит Вашу рабочую копию A.txt, чтобы быть пересмотром 2. Вы видите это путем выполнения

> svn status -u A.txt
  *     2   A.txt

Вывод этой команды показывает просмотр версии 2, и что существуют обновления (это *).

После выполнения этого обновления Вы все еще сможете сделать "svn журнал" и видеть все изменения.

Выполнение "svn обновляет A.txt", возвратит Вас последней версии (в Вашем случае, r4).

3
ответ дан 3 December 2019 в 01:04
поделиться

"Я не хочу использовать "svn-r 2 A.txt обновления", потому что это удалит все изменения после r2, а именно, r3 и r4".

Мм... это не будет на самом деле.Попробуйте: сделайте регулярное обновление svn после-r 2 один, и Вы будете видеть рабочую копию, обновленную назад к r4.

2
ответ дан 3 December 2019 в 01:04
поделиться

обновление к более старой версии не удалит Ваши более новые версии.

таким образом, Вы могли сделать svn up -r2 file, затем svn up -r4 file.

также, Вы не смогли бы фиксировать r2 файл этот путь, потому что необходимо будет обновить перед фиксацией, и Вы закончили бы с r4 снова.

2
ответ дан 3 December 2019 в 01:04
поделиться

Обновление не удалит изменений на сервере. Единственные изменения, которые это вносит, к Вашей локальной рабочей копии:

Команда обновления SVN

"вносит изменения из репозитория в Вашу рабочую копию"

"синхронизирует рабочую копию с пересмотром, данным - переключатель пересмотра"

1
ответ дан 3 December 2019 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: