битоприемник, “hg продвигают” и “hg обновление”

Неявная конкатенация:

>>> print "Hello " "World"
Hello World

Полезный, когда Вы хотите сделать соответствие длинного текста на нескольких строках в сценарии:

hello = "Greaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Hello " \
        "Word"

или

hello = ("Greaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Hello " 
         "Word")
16
задан geowa4 27 July 2009 в 12:24
поделиться

4 ответа

Почему вас волнует, что находится в рабочем каталоге на серверах BitBucket? Пока вы нажимаете, изменения будут в репозитории и видны на странице BitBucket.

РЕДАКТИРОВАТЬ: Хорошо, я собираюсь отредактировать это, чтобы получить полезный ответ.

Допустим, вы клонировали один моих репозиториев, таких как django-hoptoad на BitBucket. У вас будет папка с именем django-hoptoad на вашем локальном компьютере, и ее содержимое будет выглядеть примерно так:

django-hoptoad/
 |
 +-- .hg/
 |
 +-- ... my code and other folders

Все данные о самом репозитории хранятся в .hg / папку. Именно здесь Mercurial хранит данные о том, какие файлы были изменены в каких наборах изменений, и многое другое.

Вы можете думать об этом так (хотя это упрощение):

django-hoptoad/
 |
 +-- .hg/
 |    |
 |    +-- data about changeset 1
 |    +-- data about changeset 2
 |
 +-- ... my code and other folders as they appear in changeset 2

Когда вы запускаете hg pull и не обновлять, вы загружаете любые новые наборы изменений в репозиторий:

django-hoptoad/
 |
 +-- .hg/
 |    |
 |    +-- data about changeset 1
 |    +-- data about changeset 2
 |    +-- data about changeset 3 (NEW)
 |    +-- data about changeset 4 (NEW)
 |
 +-- ... my code and other folders as they appear in changeset 2

Если вы не обновляете, ... мой код и другие папки по-прежнему будут эквивалентны тому, что находится в наборе изменений 2 , но другие наборы изменений все еще находятся в репозитории.

Когда вы запустите hg update Mercurial обновит ... мой код и другие папки до содержимого самого нового набора изменений .

django-hoptoad/
 |
 +-- .hg/
 |    |
 |    +-- data about changeset 1
 |    +-- data about changeset 2
 |    +-- data about changeset 3
 |    +-- data about changeset 4
 |
 +-- ... my code and other folders as they appear in changeset 4

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

django-hoptoad/
 |
 +-- .hg/
      |
      +-- data about changeset 1
      +-- data about changeset 2
      +-- data about changeset 3
      +-- data about changeset 4

Если вы сделаете коммит прямо сейчас, он создаст новую ревизию, которая в основном говорит «нет файлов». Однако вам не нужно совершать какие-либо действия. Люди по-прежнему могут отправлять и получать от вас, потому что в репозитории все еще есть все данные о наборах изменений.

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

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

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

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

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

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

38
ответ дан 30 November 2019 в 15:24
поделиться

I think you might be getting confused between the working copy (aka working directory) and the local repository. These are related but separate things. The local repository contains the full history of all tracked files whereas the working copy contains versions of the files from a particular revision plus your changes to them,

The hg command push and pull move changes between repositories and update and commit moves changes between your working copy and your local repository.

So if you push changes to a remote repository that will not change the local repository and so there's no need to run an update on the local repository. However, anyone using the remote repository will need to do an update so your changes are shown in their working copy. Conversely, if you pull changes from a remote repository you will need to do an update so that these changes are shown in your working copy.

Similarly, you need to commit all changes from your working copy into the local repository before they can be sent to another repository using push.

12
ответ дан 30 November 2019 в 15:24
поделиться

No need to do a hg update on your local machine. Update is used when data is pushed TO your local repository, and you are pushing FROM your local repository.

0
ответ дан 30 November 2019 в 15:24
поделиться

Bitbucket показывает репозиторий . Как указал Дэйв Уэбб, hg update касается обновления рабочей копии . Когда вы выполняете hg push , вы переносите наборы изменений, чтобы обновить репозиторий на Bitbucket - и поэтому веб-интерфейс покажет это.

На Bitbucket нет рабочих копий, как указал Стив Лош. . Также нет обновления hg , выполняемого за вашей спиной.

Вы можете поэкспериментировать с этим самостоятельно, сделав клон без рабочей копии:

% hg clone --noupdate repo repo-empty

затем войдите в репозиторий пустой ] и выполните hg log . Вы увидите, что даже если там нет файлов, история (т.е. репозиторий ) все еще клонирована. Вы можете заставить файлы появиться с помощью команды hg update :

% hg update

и снова исчезнуть с помощью

% hg update null

. Рабочая копия нужна только в том случае, если вы хотите просмотреть файлы и сделать новые коммиты. В противном случае вы можете удалить его для экономии места. Обычно это делается в клонах, которые используются только для обслуживания с hg serve или аналогичными вещами, которые использует Bitbucket.

Вы можете поэкспериментировать с этим самостоятельно, создав клон без рабочей копии:

% hg clone --noupdate repo repo-empty

затем войдите в repo-empty и выполните hg log . Вы увидите, что даже если там нет файлов, история (т.е. репозиторий ) все еще клонирована. Вы можете заставить файлы появиться с помощью команды hg update :

% hg update

и снова исчезнуть с помощью

% hg update null

. Рабочая копия нужна только в том случае, если вы хотите просмотреть файлы и сделать новые коммиты. В противном случае вы можете удалить его для экономии места. Обычно это делается в клонах, которые используются только для обслуживания с hg serve или аналогичными вещами, которые использует Bitbucket.

Вы можете поэкспериментировать с этим самостоятельно, создав клон без рабочей копии:

% hg clone --noupdate repo repo-empty

затем войдите в repo-empty и выполните hg log . Вы увидите, что даже если там нет файлов, история (т.е. репозиторий ) все еще клонирована. Вы можете заставить файлы появиться с помощью команды hg update :

% hg update

и снова исчезнуть с помощью

% hg update null

. Рабочая копия нужна только в том случае, если вы хотите просмотреть файлы и сделать новые коммиты. В противном случае вы можете удалить его для экономии места. Обычно это делается в клонах, которые используются только для обслуживания с hg serve или аналогичными вещами, которые использует Bitbucket.

Вы увидите, что даже если там нет файлов, история (т.е. репозиторий ) все еще клонирована. Вы можете заставить файлы появиться с помощью команды hg update :

% hg update

и снова исчезнуть с помощью

% hg update null

. Рабочая копия нужна только в том случае, если вы хотите просмотреть файлы и сделать новые коммиты. В противном случае вы можете удалить его для экономии места. Обычно это делается в клонах, которые используются только для обслуживания с hg serve или аналогичными вещами, которые использует Bitbucket.

Вы увидите, что даже если там нет файлов, история (т.е. репозиторий ) все еще клонирована. Вы можете заставить файлы появиться с помощью команды hg update :

% hg update

и снова исчезнуть с помощью

% hg update null

. Рабочая копия нужна только в том случае, если вы хотите просмотреть файлы и сделать новые коммиты. В противном случае вы можете удалить его для экономии места. Обычно это делается в клонах, которые используются только для обслуживания с hg serve или аналогичными вещами, которые использует Bitbucket.

В противном случае вы можете удалить его для экономии места. Обычно это делается в клонах, которые используются только для обслуживания с hg serve или аналогичными вещами, которые использует Bitbucket.

В противном случае вы можете удалить его для экономии места. Обычно это делается в клонах, которые используются только для обслуживания с hg serve или аналогичными вещами, которые использует Bitbucket.

7
ответ дан 30 November 2019 в 15:24
поделиться
Другие вопросы по тегам:

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