Java осведомленная команда слияния

Я думаю, что ответ на Ваш вопрос нет.

проблема - то, что одно действие по машине может вызвать нагрузку на несколько баз данных. Если у меня есть процесс, который читает из конфигурации DB, регистрируясь к регистрирующемуся DB и движущимся транзакциям в и из различного DBS на основе типа, как я делю использование ЦП?

Вы могли разделить загрузку ЦП на загрузку транзакции, но это - снова грубая метрика, которая может ввести в заблуждение Вас. Как Вы разделили бы журнал транзакций, поставлющийся от одного DB до другого, например? Загрузка ЦП в чтении или записи?

Вы - более обеспеченное рассмотрение скорости обработки транзакций для машины и загрузки ЦП, которую это вызывает. Вы могли также представить хранимые процедуры и видеть, занимает ли какой-либо из них беспорядочное количество времени; однако, это не получит Вас ответ, который Вы хотите.

24
задан Marcus 29 November 2009 в 22:02
поделиться

3 ответа

Я согласен, что было бы здорово, если бы такой инструмент существовал, но я не знаю ни одного такого инструмента. Причина, по которой я считаю, что их нет, заключается в том, что алгоритм слияния для каждого SCM (будь то git, hg, bzr, svn и т. Д.) Работает с наименьшим общим знаменателем, который представляет собой простой текст. Чтобы эти инструменты SCM действительно понимали синтаксис и семантику языка, они должны включать возможность синтаксического анализа языка. Похоже, что это слишком большая задача для любого SCM, чтобы включить возможность синтаксического анализа Java, C #, Python, Ruby, Groovy, C, C ++ и т. Д., Не говоря уже о том, что каждый из этих языков имеет разный синтаксис между версиями. (например, дженериков Java не существовало до 1.5). Таким образом, SCM должен включать возможность обнаружения или настройки, чтобы знать, на каком языке и на какой версии языка написан исходный код.

Я думаю, что более вероятно, что любая функция слияния, зависящая от языка, будет можно найти в стороннем инструменте слияния (например, настройка инструмента слияния> в .gitconfig и настройка ui> слияния в .hgrc). Этот инструмент можно настроить так, чтобы он знал, что любые файлы .java в вашем проекте написаны на Java 1.6, а затем использует функции синтаксического анализа в JDK для создания AST и выполнения некоторого «глубокого» анализа того, произошло ли изменение. было значимым в контексте этого языка.

gitconfig и настройку ui> merge в .hgrc). Этот инструмент можно настроить так, чтобы он знал, что любые файлы .java в вашем проекте написаны на Java 1.6, а затем использует функции синтаксического анализа в JDK для создания AST и выполнения некоторого «глубокого» анализа того, произошло ли изменение. было значимым в контексте этого языка.

gitconfig и настройку ui> merge в .hgrc). Этот инструмент можно настроить так, чтобы он знал, что любые файлы .java в вашем проекте написаны на Java 1.6, а затем использует функции синтаксического анализа в JDK для создания AST и выполнения некоторого «глубокого» анализа того, произошло ли изменение. было значимым в контексте этого языка.

5
ответ дан 29 November 2019 в 00:29
поделиться

Возможно, вы захотите, чтобы все в вашей команде использовали одни и те же настройки IDE для таких вещей, как порядок импорта, форматирование и т. Д., Чтобы избежать возникновения подобных конфликтов.

0
ответ дан 29 November 2019 в 00:29
поделиться

Я ищу точно такую же вещь. Те поставщики инструментов слияния, вероятно, должны решить эту проблему семантического, языкового слияния. Если нет, мне придется стать одним из них:)

На данный момент, в качестве трюка бедняка, я иногда предварительно обрабатываю 3 файла (базовый, наш, их) до их "канонической формы", подавая их через Code Cleanup/Organize Imports/Order Members в Eclipse.

Несмотря на ограниченные возможности, это хорошо работает: в последний раз это позволило сократить число конфликтов с ~200 до 2. Я планирую обернуть это в скрипт и подключить к инструменту слияния git'а.

Также написал скрипт autoresolve java import conflicts, который просто сохраняет обе стороны импорта и добавляет комментарии, чтобы объяснить, что происходит и что делать: 'organise imports'.

2
ответ дан 29 November 2019 в 00:29
поделиться
Другие вопросы по тегам:

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