Репозиторий подверсии имеет небольшой размер файла по сравнению с рабочей копией?

Как другие заявили, сделайте частного конструктора без параметров. Никто не может создать экземпляр его кроме самого класса.

, Поскольку другие показали, как это сделано с другими языками, здесь прибывает, как Вы делаете это в следующей версии C++, как сделать класс non-instantiable:

struct Utility { 
    static void doSomething() { /* ... */ } 
    Utility() = delete; 
};
11
задан Danubian Sailor 20 March 2014 в 10:15
поделиться

4 ответа

SVN сжимает одну версию вашего кода, различия между каждой версией. Вот почему он не занимает много места.

Чтобы хранилище было небольшим, Subversion использует дельтификацию (или делтифицированное хранение) в пределах сам репозиторий. Делтификация включает в себя кодирование представления фрагмента данных в виде набора отличия от других частей данных. Если две части данных очень похоже, это делтификация приводит к экономии места для хранения делтифицированный кусок - вместо того, чтобы брать пространство, равное размеру исходные данные, это занимает достаточно место, чтобы сказать: «Я выгляжу вот так другая часть данных здесь, кроме на следующую пару изменений ». В результате большая часть данные репозитория, которые имеют тенденцию громоздкие - а именно, содержимое версионные файлы - хранятся в размер меньше оригинала полнотекстовое представление этих данных. А для репозиториев, созданных с помощью Subversion 1.4 или новее, пробел экономия еще лучше - теперь эти полнотекстовые представления файла содержимое само сжимается.

Более подробную информацию можно найти здесь

18
ответ дан 3 December 2019 в 02:20
поделиться

Эта проблема, по-видимому, больше всего подходит для Core Data, поскольку она будет иметь дело со всеми постоянными данными объекта. Когда вы извлекаете свои данные, он вернет NSSet, который не отсортирован, поэтому вам нужно будет каким-то образом отсортировать данные в массиве, например, уникальный идентификационный номер, связанный с каждым созданным вами объектом.

В ответе уже объяснялось, что данные в репозитории сжимаются довольно эффективно.

Другая половина истории состоит в том, что Subversion сохраняет нетронутую копию каждого файла внутри .svn папки вашей рабочей копии. Это позволяет Subversion обрабатывать команды svn status или svn diff без необходимости связываться с сервером репозитория, но при этом удваивает размер вашей рабочей копии .

8
ответ дан 3 December 2019 в 02:20
поделиться

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

5
ответ дан 3 December 2019 в 02:20
поделиться

Вот несколько причин, которые я могу придумать - svn сохраняет ваши версии как наборы изменений, а не файлы с контролем версий. - svn хранит данные в своем бэкэнде (FSFS / BDB), который использует некоторые методы сжатия, уменьшающие размер. Если в репозитории больше текстовых файлов, тем сильнее сжатие, поэтому можно ожидать резкого уменьшения размера. - Для поддержки нескольких команд (например, svn info, diff и т. Д.) Без подключения к сети (а также для более быстрых результатов) svn сохраняет некоторую дополнительную информацию в каталогах .svn. Дополнительная информация включает копию всей рабочей копии.

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

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