Использование принципов управления исходным кодом для управления картой, множеством, словарем или таблицей отношений? - PullRequest
1 голос
/ 10 января 2012

В процессе управления чем-то вроде словаря (сопоставление слов и определений) вам нужно будет добавлять и удалять слова и обновлять определения, а также вносить любые изменения по мере необходимости.Было бы неплохо отследить такие изменения подобно тому, как изменения исходного кода отслеживаются с помощью программного обеспечения для контроля версий.Однако между картой и исходными файлами есть несколько отличий.Самое большое различие, о котором я могу подумать, это то, что порядок на карте не имеет значения, вы можете упорядочивать свои слова и определения так, как вам нравится (хотя можно использовать порядок по умолчанию).отслеживать изменения в словаре (или структура данных карты, или реляционная база данных)?Я хотел бы получить возможность ответить на такие вопросы, как "Когда было добавлено это слово?"или "Когда изменилось определение этого слова?"или даже «Какие слова были ранее в словаре и с тех пор были полностью удалены?»

Ответы [ 2 ]

0 голосов
/ 11 января 2012

Я не уверен, что для этой цели вам нужен VCS.Если вы говорите, что вы используете реляционную базу данных для отображения хранилища, то вы должны добавить соответствующие поля в структуру отображения.Например, если у вас есть две таблицы с отношением «многие ко многим», они будут иметь 3 таблицы: T1, T2 и T1_to_T2 со следующими отношениями: T1 <- <code>T1_to_T2 -> T2,Вам нужно просто добавить такие поля, как CreateDate и UpdateDate в таблицу сопоставления T1_to_T2.Это позволит ответить с помощью SQL на все эти вопросы:

  • Когда была добавлена ​​запись сопоставления?
  • Когда изменилась запись сопоставления?
  • Какие записи не имеют сопоставления и когда это произошло?
0 голосов
/ 11 января 2012

Я думаю, вы используете практически любую SCM для своей задачи. Большинство VCS («Система контроля версий», обратите внимание: ничего не сказано об исходном коде) имеют «вину» или эквивалентную команду для обнаружения истории на основе строки. String-order важен для большинства обычных ситуаций в разработке, поэтому - вы не можете отключить отслеживание этих изменений кода, но вы можете использовать dif-merger, который обнаруживает показ таких изменений (снаружи использовал SCM) - я знаю об этой функции в CompareIT, например

Для меня достаточно хорошим VCS для вашей задачи кажется Git (с его помощью grep, git-blame, annotate) и Mercurial (с revsets, blame, grep)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...