Причина, почему это не может быть сделано непосредственно, состоит в том, что каждая фиксация содержит ссылки на родительские фиксации (обычно всего одна, но несколько для слияний). Тот путь, если у Вас есть одна фиксация (ее суммой SHA1) целая история, также фиксируется, поскольку родители также содержат ссылки на своих родителей и так далее. Таким образом, единственный способ не учесть патчи в истории состоит в том, чтобы записать новую. перебазой мерзавцев-i на недавно созданном ответвлении является, вероятно, самый легкий способ достигнуть этого.
Эта страница содержит информацию о вычислении идентификаторов для файлов символов, а также исполняемых файлов / DLL.
В основном, для исполняемых файлов и библиотек DLL вы извлекаете метку времени и размер файла из Заголовок PE, как указано на странице, на которую ссылается Грифф. Однако для файлов PDB вам понадобится команда DBH из средств отладки Windows. Просто загрузите файл PDB в DBH и используйте команду INFO, чтобы получить PdbSig / PdbSig70 и PdbAge . Бац! Вот и все.
Я просто создал соответствующие папки для файлов PDB, которые по какой-то причине были в моей папке SYSTEM32, и, наконец, переместил их в локальное хранилище символов.
Попробуйте посмотреть на эту страницу: Функция обратного вызова сервера символов