История изменений в конкретной строке кода в Подверсии

Поскольку вопрос уже ответил, то лучший способ - использовать метод удаления объекта итератора, я хотел бы перейти к особенностям места, где была выбрана ошибка "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.

75
задан Peter Mortensen 28 April 2017 в 22:45
поделиться

6 ответов

Я не знаю метод для отслеживания операторов в течение времени в Подрывной деятельности.

просто однако видеть, когда какая-то конкретная строка в файле была в последний раз изменена с помощью svn blame. Проверьте SVNBook: svn blame ссылка :

Выставочный автор Описания

Резюме

svn blame TARGET[@REV]...

и информация о пересмотре встраивают для указанных файлов или URL. Каждая строка текста аннотируется вначале с автором (имя пользователя) и число пересмотра для последнего изменения в той строке.

53
ответ дан Peter Mortensen 24 November 2019 в 11:40
поделиться

В клиент TortoiseSVN там является очень хорошей функцией, которая позволяет Вам:

  • обвиняют файл, отображая последнее изменение для каждой строки (это стандартно)
  • , "обвиняют предыдущий пересмотр", после нажатия на конкретную строку в вышеупомянутом представлении (это - хорошее)

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

42
ответ дан Peter Mortensen 24 November 2019 в 11:40
поделиться
svn annotate

иначе вина SVN от TortoiseSVN.

1
ответ дан Peter Mortensen 24 November 2019 в 11:40
поделиться

вина svn показывает Вам, какая регистрация изменила любую строку в файле в прошлый раз.

Это работает над старыми изменениями также.

0
ответ дан Maximilian 24 November 2019 в 11:40
поделиться

Запуск является командой svn вина (или аннотируйте, похвала). Это покажет Вам, когда строка кода была в последний раз изменена и кем это было изменено. например:

  4564    wiemann # $Id$
  4564    wiemann # Author: David Goodger <goodger@python.org>
   778    goodger # Copyright: This module has been placed in the public domain.
   217    goodger 
0
ответ дан Peter Hoffmann 24 November 2019 в 11:40
поделиться

Команда, которую Вы ищете, svn blame .

-1
ответ дан bahrep 24 November 2019 в 11:40
поделиться
Другие вопросы по тегам:

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