Действительно ли использование является центральным репозиторием, идущим вразрез с целью МЕРЗАВЦА?

Эквивалентность тестового значения оператора ==. Оператор is проверяет идентичность объекта, Python проверяет, действительно ли эти два являются одним и тем же объектом (т. Е. Живут по одному и тому же адресу в памяти).

>>> a = 'banana'
>>> b = 'banana'
>>> a is b 
True

В этом примере Python создал только одну строку объект, и оба a и b ссылаются на него. Причина в том, что Python внутренне кэширует и использует несколько строк в качестве оптимизации, на самом деле в памяти есть только строка «банан», разделяемая a и b; Чтобы вызвать нормальное поведение, вам нужно использовать более длинные строки:

>>> a = 'a longer banana'
>>> b = 'a longer banana'
>>> a == b, a is b
(True, False)

Когда вы создаете два списка, вы получаете два объекта:

>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> a is b
False

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

Если a ссылается на объект и вы назначаете b = a, то обе переменные ссылаются на тот же объект:

>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True
33
задан mmcdole 20 January 2009 в 18:41
поделиться

7 ответов

Едва ли. DCVS просто позволяет большей свободе войти, как взаимодействовать между разработчиками, не включая центральный репозиторий. Официальный репозиторий только официален по общему соглашению . Linux также имеет центральный репозиторий, тот, из которого "официальные" выпуски ядра создаются, но нет никакой физической разницы между центральным, "официальным", репозиторием и клиентскими репозиториями, как это находится в централизованном VCS.

29
ответ дан 27 November 2019 в 17:54
поделиться

Вы, вероятно, думаете вроде этой схемы:

alt text

Это будет, вероятно, похоже на хаос, прибывающий из CVCS. "Нам нужен некоторый порядок", я слышу, что Вы говорите?

, Если у Вас не было центрального репозитория, не был бы он быть ЛАВАШЕМ для выяснения, у кого была последняя версия для получения по запросу от, у кого есть функция x или исправление ошибки y, что все должны захватить, и т.д., и т.д.

Да. В отличие от CVCS There’s не действительно “latest version”. Если there’s никакое центральное расположение, Вы, которых сразу знают don’t, видеть ли, Предъявляете иск, Joe или Eve для последней версии. Центральное расположение помогает разъяснить, каков последний выпуск “stable”.

Что-то немного больше как это:

alt text

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

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

Это, вероятно, не яркий пример (я все еще получаю голову вокруг всего этого также), но это - всего один менеджер проектов. Добавьте еще несколько проектов/менеджеров и команды QA, тогда Вы могли бы видеть, куда я происхожу из..

-

29
ответ дан 27 November 2019 в 17:54
поделиться

С распределенным управлением исходным кодом центральный "официальный" репозиторий устанавливается политикой - не архитектура инструмента управления исходным кодом.

8
ответ дан 27 November 2019 в 17:54
поделиться

Определенно, не побеждая цель Мерзавца.

преимущество для использования Мерзавца или любого другого DVCS, даже когда существует центральное, официальное, репозиторий все еще , что управление исходным кодом децентрализовано. Таким образом, можно сделать копию репозитория, работы над кодом, и сделать локальную фиксацию каждые несколько минут, если Вам нужно. Вы не должны волноваться, что фиксации находятся на наполовину законченном коде, которые повреждают сборку, это все локально. (И очень быстро.)

Тогда, когда вся работа сделана, можно очистить историю и продвинуть завершенные изменения в центральном репозитории в гомогенном, чистом, состоянии.

я не думаю, что можно недооценить преимущество разделения идеи "частных" фиксаций и "общедоступных" нажатий. Это позволяет изменениям быть прослеженными даже при том, что Вы - единственный для пользы из такой маленькой гранулярности.

6
ответ дан 27 November 2019 в 17:54
поделиться

При проверке этого Представление Мерзавца (скользите 475 и после), Модель Центрального репозитория отлично поддерживается Мерзавцем.

Вы банка может вынудить любого желающего к git push ее разработка сначала сделать git fetch + git merge первый, затем продвинуть.

, Который не побеждает цель Мерзавца вообще и удостоверяется, все 'в синхронизации' друг с другом.

различие с "официальным" репозиторием Linus упомянутый JesperE - то, что этим управляет различный рабочий процесс, а именно, модель "Dictator and lieutenants", где доступ для записи (нажатие) только предоставляют для Linus и читают, предоставляют для любого.

Теперь: "это побеждает точку DVC"?

нет, у Вас все еще есть распределенные репозитории, один для каждого разработчики, и они могут выбрать/объединить между их собственными репозиториями, согласно их собственному внутреннему рабочему процессу команды.
Однако, если они хотят способствовать центральному repo, им придется быть сначала актуальным с последней историей того репозитория.

4
ответ дан 27 November 2019 в 17:54
поделиться

Одно из основных преимуществ DVCS - то, что можно получить последнюю версию из 'официального' репозитория и затем быть предприимчивыми с ним. Можно фиксировать изменения локально и откатывать по желанию. Это также означает, что можно даже работать даже без доступа к центральному repositoy и все еще обладать преимуществами управления исходным кодом.

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

1
ответ дан 27 November 2019 в 17:54
поделиться

DVCS как Мерзавец don’t вынуждают Вас использовать центральный репозиторий. Конечно, it’s, возможный объявить, что один репозиторий “central” или “official” или что бы то ни было, и в контексте компании центральный репозиторий, делает некоторый sense—, если бы не разработка тогда, по крайней мере, в целях резервирования.

0
ответ дан 27 November 2019 в 17:54
поделиться
Другие вопросы по тегам:

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