Неявная конкатенация:
>>> print "Hello " "World"
Hello World
Полезный, когда Вы хотите сделать соответствие длинного текста на нескольких строках в сценарии:
hello = "Greaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Hello " \
"Word"
или
hello = ("Greaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Hello "
"Word")
Почему вас волнует, что находится в рабочем каталоге на серверах 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.
... мой код и другие папки
на самом деле никогда не будут использоваться, поэтому я полагаю, что Джеспер настроил его на удаление, чтобы сэкономить место на диске.
Начиная с hg update
действительно влияет только на рабочий каталог, а рабочий каталог в BitBucket никогда не используется, вам не нужно запускать hg update
после нажатия на BitBucket.
... мой код и другие папки
на самом деле никогда не будут использоваться, поэтому я полагаю, что Джеспер настроил его на удаление, чтобы сэкономить место на диске.
Начиная с hg update
действительно влияет только на рабочий каталог, а рабочий каталог в BitBucket никогда не используется, вам не нужно запускать hg update
после нажатия на BitBucket.
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
.
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.
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.