Лучший инструмент слияния для [закрытой] подверсии

Поскольку вопрос уже ответил, то лучший способ - использовать метод удаления объекта итератора, я хотел бы перейти к особенностям места, где была выбрана ошибка "java.util.ConcurrentModificationException".

Каждый класс коллекции имеет частный класс, который реализует интерфейс Iterator и предоставляет такие методы, как next(), remove() и hasNext().

Следующий код выглядит примерно так:

public E next() {
    checkForComodification();
    try {
        E next = get(cursor);
        lastRet = cursor++;
        return next;
    } catch(IndexOutOfBoundsException e) {
        checkForComodification();
        throw new NoSuchElementException();
    }
}

Здесь метод checkForComodification реализован как

final void checkForComodification() {
    if (modCount != expectedModCount)
        throw new ConcurrentModificationException();
}

Итак, как вы можете видеть, если вы явно попытаетесь удалить элемент из коллекции. Это приводит к тому, что modCount отличается от expectedModCount, что приводит к исключению ConcurrentModificationException.

57
задан Uwe Keim 22 May 2013 в 10:34
поделиться

6 ответов

Смотрите на Sourcegear DiffMerge. DiffMerge является сравниванием и инструментом слияния от их продуктов Хранилища и Крепости, но они делают его доступным бесплатно как автономный инструмент. Одна достойная внимания особенность - то, что это позволяет diffing всех деревьев каталогов.

Редактирование: , В то время как DiffMerge остается бесплатным инструментом, он ворчит для регистрации со всплывающим окном, по крайней мере, один раз в день (по крайней мере, начиная с версии 4.2). Это также указывает во всплывающем окне:

Избранные новые возможности в будущих выпусках также потребуют регистрации, но базовые функции и меры будут доступны всем.

32
ответ дан zb226 24 November 2019 в 19:31
поделиться

По необходимости Инструмент Слияния

Даже при том, что По необходимости, очевидно, не, освобождает инструмент слияния. Это 100x лучше, чем TortoiseSvn по умолчанию один. Для интеграции с TortoiseSvn устанавливает инструмент слияния на:

C:\Path-To\P4Merge.exe %base %theirs %mine %merged

45
ответ дан Alistair Sutherland 24 November 2019 в 19:31
поделиться

Вне всякого сравнения был предложен неоднократно мне.

21
ответ дан Maarten Sander 24 November 2019 в 19:31
поделиться

Я использую KDiff3 в качестве инструмента слияния с 3 путями. Это делает достойное задание.

6
ответ дан undees 24 November 2019 в 19:31
поделиться

Слияние Araxis является дорогим, но большим. Дескрипторы 3 путями слияния на файлах или папках действительно хорошо. Я нахожу способ, которым это отображается diffs намного более полезный, чем Windiff или инструмент P4.

6
ответ дан Jurney 24 November 2019 в 19:31
поделиться

CompareIt хорош, я нахожу использование интерфейса командной строки для svn, который это объединяет больше для меня, где черепаха берет на вещах и спрашивает Вас.

3
ответ дан DevelopingChris 24 November 2019 в 19:31
поделиться
Другие вопросы по тегам:

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