удалите историю файла с базаром

Кто-то передал все двоичные файлы нашей соединительной линии базара, и я хочу избавиться от нее. 'bzr del file' только удаляет файл из текущего пересмотра, но не историю файла.

Существует ли способ, которым мы можем удалить историю файла так, чтобы мы все не загружали сотни MBS данных?

6
задан TylerH 17 September 2014 в 14:14
поделиться

2 ответа

Кобра - статически типизированный язык для CLR (как Booo). Со своей веб-страницы:

Cobra - это программирование общего назначения язык с:

  - чистый, высокоуровневый синтаксис
- статическая и динамическая привязка
- поддержка первого класса для модульных испытаний и контрактов
- скомпилированная производительность с удобствами создания сценариев
- ламбды и затворы
- расширения и миксины
-... и многое другое
Sample code:

"""
This is a doc string for the whole module.
"""


class Person
    """
    This is a class declaration.
    """

    var _name as String  # declare an object variable. every instance of Person will have a name
    var _age as int

    cue init(name as String, age as int)
        _name = name
        _age = age

    def sayHello
        # This is a method

        # In strings, anything in brackets ([]) is evaluated as an expression,
        # converted to a string and substituted into the string:
        print 'Hello. My name is [_name] and I am [_age].'

    def add(i as int, j as int) as int
        """ Adds the two arguments and returns their sum. """
        return i + j
-121--1130197-

Если это не действительно уникальное слово, я бы предложил следующий подход.

Давайте представим, что наше ключевое слово - Java. Тогда есть как минимум 2 категории: о программировании и о туризме в Индонезии. Нам интересен первый.

Позволяет взять небольшой текст о Java (может быть, из книг или из википедии). Тогда допустим некоторый порог (например, 0,7). Затем давайте сравним наш текст с разными страницами (один из самых быстрых способов - использовать алгоритм Classic Vector Space Model , вы можете реализовать его самостоятельно или найти его реализацию в google). Затем сравните результаты с пороговым значением и выполните фильтрацию слабых результатов.


Об использовании алгоритма Байеса: это неплохой подход imo. Но вы должны «учить» свой алгоритм очень осторожно, потому что несколько плохих входных данных могут испортить всю работу.

Позвольте мне объяснить. Ввод для вашего алгоритма Байеса - это текст с вашим фирменным словом. Выход - вероятность [0.. 1] что ваш текст о вашем бренде, но не о чем-то другом. На практике этот алгоритм очень часто дает результаты около 0 или около 1, и он редко возвращает значения между 0,2 и 0,8. Это означает, что алгоритм очень чувствителен к небольшим вариациям и 1 или 2 слова в тексте из 100 слов могут серьезно повлиять на результат.

-121--2717406-

Существует 2 способа. Но необходимо быть готовым к повторному созданию части (или даже полной) истории ветви, так что текущие (локальные) ветви станут несовместимыми с новой ветвью после удаления файла.

1) Ручной способ. Можно создать копию ветви в редакции непосредственно перед добавлением больших файлов. Затем необходимо выполнить повторную фиксацию дополнительных редакций наполовину вручную и исключить большие файлы. Команда replay из плагина bzr-rewrite (прежняя bzr-rebase) используется для воспроизведения тех версий, в которых нет изменений в больших файлах. И используйте merge -cN для внесения изменений в большие файлы, вручную удалите эти файлы и зафиксируйте. Таким образом, вы сохраните большую часть вашей истории в целости и сохраните уникальные идентификаторы файлов для других файлов вашей ветви.

2) Используйте плагин bzr-fastimport для экспорта истории в виде потока быстрого импорта с помощью команды bzr fast-export . Затем выполните фильтрацию больших файлов с помощью команды bzr fast-import-filter -x FILE . И в конечном итоге создать новую ветвь без больших файлов с помощью команды bzr fast-import . Этот метод уничтожит всю вашу историю и все ваши файлы получат новые идентификаторы файлов, так что ваша новая ветвь будет полностью несовместима со старой ветвью.

В любом случае,если у вас есть общий репозиторий с историей больших файлов внутри, вам нужно создать новый пустой общий репозиторий и поместить там свою новую отфильтрованную ветвь.

6
ответ дан 10 December 2019 в 02:47
поделиться

Если бинарные файлы были добавлены в последнем коммите, вы можете снять коммит.

bzr uncommit

Это оставит ваше рабочее дерево в том состоянии, в котором оно было непосредственно перед тем, как вы написали "bzr commit". Затем удалите файлы и сделайте повторную фиксацию.

Более подробную информацию смотрите в документации bazaar по исправлению ошибок.

Вы можете использовать опцию -r для отмены нескольких фиксаций за одну операцию: bzr uncommit -r -4

Другой вариант, если вам не важна история ревизий:
Вы можете сделать экспорт вашей ветки (bzr export DESTINATION) и затем создать новый ствол.
Команда export просто экспортирует головной репозиторий, без истории.

3
ответ дан 10 December 2019 в 02:47
поделиться
Другие вопросы по тегам:

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