Как получить копию всех версий файла из репозитория подрывной деятельности?
-
27-10-2019 - |
Вопрос
У нас есть пользовательский шрифт (TTF), который мы добавили в репозиторий подрывной деятельности. Мы обнаружили проблему с определенными символами и не уверены, когда проблема была введена. Файл, конечно, является двоичным файлом, поэтому для сравнения не существует различий в текстах, мы просто нужно содержать его с другими файлами проекта и версией. В любом случае, я хотел бы получить все версии файла из репозитория. У меня есть доступ к TortoiseSvn (для Windows) и Cornerstone (для Mac); Тем не менее, мне также удобно использовать терминал. Как я могу получить файл TTF для каждой версии шрифта, которая была зарегистрирована в подрывной деятельности?
Решение
Это немного грубо, и я уверен, что существуют гораздо более элегантные решения, но это делает работу. Установите grab_file и grab_from_rev соответственно.
$ mkdir versions
$ GRAB_FILE="MGSource.h"
$ GRAB_FROM_REV=700
$ for i in `svn log -r$GRAB_FROM_REV:HEAD "$GRAB_FILE" | grep -o '^r[0123456789]*'`; do svn up "$GRAB_FILE" -$i; cp $GRAB_FILE versions/"$GRABFILE.$i.h"; done
Updated to revision 768.
U MGSource.h
Updated to revision 770.
U MGSource.h
Updated to revision 804.
U MGSource.h
Updated to revision 821.
$ ls -l versions/
total 56
-rw-r--r-- 1 me staff 1599 Mar 18 21:03 MGSource.r709.h
-rw-r--r-- 1 me staff 1705 Mar 18 21:03 MGSource.r759.h
-rw-r--r-- 1 me staff 1891 Mar 18 21:03 MGSource.r760.h
-rw-r--r-- 1 me staff 1882 Mar 18 21:03 MGSource.r768.h
-rw-r--r-- 1 me staff 2009 Mar 18 21:03 MGSource.r770.h
-rw-r--r-- 1 me staff 2009 Mar 18 21:03 MGSource.r804.h
-rw-r--r-- 1 me staff 1942 Mar 18 21:03 MGSource.r821.h
Другие советы
Если вы используете TortoisesVN, вы можете получить это очень легко:
Покажите журнал для файла шрифта. Вы увидите список ревизий, в котором этот конкретный файл был изменен. Щелкните правой кнопкой мыши по любому из этих ревизий, затем просто выберите «Сохранить как ...» из контекстного меню, и вы получите файл, как это было в этом пересмотре.