2012-05-18 2 views
1

Я нахожусь в проекте о синхронизации файлов. У меня есть некоторые вопросы:Как и когда файлы Mercurial или git diff?

  • Кто может сказать мне, как файлы Mercurial или Git diff хранят различия?
  • Мониторинг изменений файла?
  • Нужно ли разграничить весь файл при совершении фиксации?
  • Может ли он отслеживать изменение раздела драйвером?
  • В чем разница между способом обработки текстовых файлов и двоичных файлов?
  • Есть ли какие-либо другие программы с открытым исходным кодом, которые я должен исследовать?
+0

@ Lasse V. Karlsen Я новичок в этой области работы, также новичок в python, и я читаю код, но я не могу найти свой ответ так быстро, как мне нужно, может быть, мой способ исследования слишком бедный. – xiemeilong

ответ

2

Для ртутный, она отличается от , показывающий дифференциала и хранения разн.

Когда показывает diff, это зависит от того, спросите ли вы, что Mercurial отображает diff, или если вы попросите его использовать внешнюю программу diff.

Здесь все комбинации:

  1. Сохранение в диф
    1. всегда использует бинарный диф, не имеет значения, какой тип файла он (или предполагается)
  2. Показаны отличия
    1. Просить Меркуриал показать разницу
      1. будет жаловаться, если это двоичный файл (то есть, что Mercurial предполагает это двоичный файл)
      2. Покажет диф, если это текстовый файл (опять же, предполагается)
    2. Запрашиваемых внешним программа, чтобы показать диф
      1. зависит от того, что внешняя программа может обрабатывать

Что касается мониторинга изменений, Mercurial этого не делает. Когда вы просите его совершить, в этот момент он определяет, какие файлы хранить и какие изменения совершать для них.

+0

Спасибо за ваш ответ, вы сказали, что Mercurial всегда использует двоичный diff, но я всегда нахожу код для «строки» и «текста», а не двоичного, какой алгоритм используется? – xiemeilong

Смежные вопросы