использование подверсии с действительно действительно большим сайтом

Есть идеи?

В FILE-CONTROL используйте ORGANIZATION LINE SEQUENTIAL.

При использовании DATA DIVISION.,

FILE SECTION.
FD OUTPUT-FILE.
01 OUTPUT-RECORD PIC X(80).

WORKING-STORAGE SECTION.
01 CONSTANT-TEXT-1 PIC X(5) VALUE "!---!".
01 CONSTANT-TEXT-2 PIC X(17) VALUE "This is a report!"
01 CONSTANT-TEXT-3 PIC X(28) VALUE "Here is the list of records:"
01 CONSTANT-TEXT-4 PIC X(17) VALUE "Number of crimes:".
01 PERSON-RECORD.
    05 ID PIC 999.
    05 NAME PIC X(10).
01 CRIMES.
    05 NAME PIC X.
    05 NO-OF-CRIME PIC 99.

В PROCEDURE DIVISION для операторов WRITE используйте

WRITE OUTPUT-RECORD FROM CONSTANT-TEXT-1
WRITE OUTPUT-RECORD FROM CONSTANT-TEXT-2
WRITE OUTPUT-RECORD FROM CONSTANT-TEXT-3
WRITE OUTPUT-RECORD FROM CONSTANT-TEXT-4
WRITE OUTPUT-RECORD FROM PERSON-RECORD
WRITE OUTPUT-RECORD FROM CRIMES

в любой последовательности, в которой вы хотите произвести отчет.

Вам не нужно использовать CONSTANT-TEXT, используйте любое имя, которое имеет значение для программы.

6
задан Ed Bloom 6 October 2008 в 15:37
поделиться

8 ответов

Если я не ошибаюсь после того, как первая проверка в / Вас только обрабатывает .diff файлы, таким образом, только необходимо загрузить/загрузить изменения (не целый файл просто строки, которые были изменены, пока файлом является ASCII), который существует между файлами на клиенте/сервере.

Первая Comit/обновление будет ужасающей все же.

12
ответ дан 8 December 2019 в 12:24
поделиться

Другая вещь принять во внимание состоит в том, что можно сделать копии проверенных папок, и они все еще будут действительными рабочими копиями:

svn checkout http://server/path/to/repos my_working_copy
cp -a my_working_copy another_working_copy
svn status another_working_copy

Это может сэкономить много времени при необходимости в нескольких рабочих копиях. Это также делает ветвление и переключение намного быстрее

svn checkout http://server/path/to/trunk my_trunk
cp -a my_trunk my_branch
cd my_branch
svn switch http://server/path/to/branches/stable

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

5
ответ дан 8 December 2019 в 12:24
поделиться

Я выполняю сайты, которые являются полностью приблизительно 5 ГБ или больше. (и система сборки, которая делает изменения во много многими файлами для каждой сборки). Так, дельта составила бы приблизительно 200 МБ легко (и на удаленный сайт). SVN обрабатывает его превосходный. Это также зависит от того, как хороший Ваш апач может держать (если Вы используете апача).

1
ответ дан 8 December 2019 в 12:24
поделиться

Как сказано прежде, фиксация/обновление передает diffs только и довольно быстра. Контроль является более трудоемким - используют переключатель svn для перехода между ответвлениями быстро.

Кроме того, транспортный протокол HTTP/WEBDAV не очень эффективен, особенно при контакте с большим количеством маленьких файлов (например, исходный код :)) - Вы могли рассмотреть использование svnserve вместо этого.

200 МБ данных не должны быть слишком большой проблемой Подверсии - но если дисковое пространство и эффективная передача данных являются действительно проблемой, Вы могли бы также изучить мерзавца или подвижный. Особенно мерзавец намного более эффективен, но Вам будет, вероятно, требоваться немного больше времени для обертывания головы вокруг понятия распределенного управления исходным кодом, и необходимо жить без необычных инструментов GUI на данный момент (также инструменты командной строки стали намного более применимыми в последнее время).

Эта ссылка могла бы быть интересной, также: Автоматическое обновление Веб-сайта

1
ответ дан 8 December 2019 в 12:24
поделиться

это только отправит изменения, когда Вы обновите или прокомментируете. Необходимо быть в порядке.

0
ответ дан 8 December 2019 в 12:24
поделиться

Подверсия только получает diffs/updates, таким образом, у Вас только есть полный контроль в первый раз, когда Вы получаете его. Более поздние обновления Вы только получите изменения.

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

0
ответ дан 8 December 2019 в 12:24
поделиться

Если много изменений вносится часто, почему бы не, запись крона, которая делает обновление подверсии, чтобы усовершенствовать Вашу локальную копию, говорит каждые 6 часов?

Тем путем Вы получаете недавний diffs (или ни один, если он не обновил за несколько часов), а не целая хижина.

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

0
ответ дан 8 December 2019 в 12:24
поделиться

Это только загрузит файлы, которые были затронуты между тем временем. Однако, если Вы собираетесь быть ветвлением (как необходимо быть), затем, Вы могли бы ожидать долгое время.

Сколько из проекта на самом деле необходимо? Я сомневаюсь, что существует 200 МБ источника. Если много данных является ресурсами, которые изменяются очень нечасто (т.е. изображения) затем, Вы могли бы думать о разделении репозиториев в меньшие проекты.

0
ответ дан 8 December 2019 в 12:24
поделиться
Другие вопросы по тегам:

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