obsolete: add missing line feed in debug error message

--HG--
branch : stable
extra : rebase_source : 70e4e7b1f81722b4912a0cb2092da6010ec89b99
test: add test for the issue introduced by e410be860393 (issue3669)

e410be860393 (released as Mercurial 2.3) introduced the issue that the
revset program started with 40 hexadecimal letters caused unexpected
result at "hg log" execution.

This issue was already fixed by bde1185f406c (released as 2.3.1), but
there is no test to examine whether this issue is certainly fixed or
not: no test fails even if bde1185f406c is backed out.

This patch adds test for this issue.

Added test is also confirmed to fail, when it is tested against:

  - Mercurial 2.3, or
  - Mercurial 2.3.1 or later with backing bde1185f406c out

--HG--
branch : stable
extra : rebase_source : a8ca4d18732e0b0826a1d25ce08b9d82e05bf6bb
patchbomb: respect --in-reply-to for all mails if no intro message is sent

Before this change, the thread hierarchy looked like this:

PARENT
  PATCH1/x
    PATCH2/x
    PATCH3/x
    ...

Now it is:

PARENT
  PATCH1/x
  PATCH2/x
  PATCH3/x
  ...

With an introductory message the behaviour is unchanged:

PARENT
  INTRO
    PATCH1/x
    PATCH2/x
    PATCH3/x
    ...

--HG--
branch : stable
verify: fix all doubled-slash sites (issue3665)

--HG--
branch : stable
test-remove: fix \ vs. / issues on Windows

This part of the test failed with

     $ hg rm --after d1
  -  removing d1/a
  +  removing d1\a

on Windows.

--HG--
branch : stable
extra : rebase_source : d364b59cd4c439fcb1da7354b0e10f96ba1df416
test-remove: adapt to differing error message on Windows

On Windows, this part of the test failed with

     $ hg rm --after nosuch
  -  nosuch: No such file or directory
  +  nosuch: The system cannot find the file specified
     [1]

Fixed by glob-ing away the error message if the test is run on Windows
(see for example test-bad-pull.t line 3 for precedent).

test-remove.t now passes on Windows.

--HG--
branch : stable
extra : rebase_source : 235cd943c00c3410ef97543aaeb8e9d57d8b3c4f
amend: fix incompatibity between logfile and message option (issue3675)

Bug introduced by 9732473aa24b

--HG--
branch : stable
bookmark: complexity pull-push test to have deeper tree

This changeset only touch test.

The previous test was correct, it tested that the successors of an old bookmark
position was seen as a valid destination for bookmark.

However, a newer version is made for two reason:

(1) The new test check further. It check that the descendant of the successors
    is a valid destination

(2) An ever more complexe test is needed to validate a future fix to issue 3680
    Splitting complexification of the test and actual bugfix help to reduce the
    noise in the bugfix changeset. Issue 3680 is NOT fixed by this changeset.

--HG--
branch : stable
bookmark: prevent crashing when a successor is unknown locally (issue3680)

The `%ln` revset substitution does not accept unknown node. We prune unknown
node from potential successors before computing descendants.

This have no impact on the result of this function.

- Descendants of unknown changeset as unknown,
- all successors of unknown changesets are already return by the call who
  returned those same unknown changesets,
- unknown changesets are never a valid destination for a bookmark.

--HG--
branch : stable
bookmark: simplify nodemap check introduced in the previous changeset

--HG--
branch : stable
clone: make sure to use "@" as bookmark and "default" as branch (issue3677)

Before this change a bookmark named "default" or a branch named "@" would
cause the wrong changeset to be checked out.

The change in output of test-hardlinks.t is due to the fact that no unneeded
tag lookups for the tags "@" or "default" happen, therefore the cache file is
not created.

--HG--
branch : stable
test-bookmarks.t: check that bookmark "default" is not automatically checked out

This verifies that c9339efed653 fixes the problem originally reported in
issue3677.

--HG--
branch : stable
test-clone.t: check that branch "@" is not automatically checked out

This verifies that c9339efed653 fixes the second problem mentioned in
issue3677.

--HG--
branch : stable
clone: activate @ bookmark if updating to it

The message "updating bookmark @ failed!" in test-bookmarks-pushpull.t
is correct, because the changeset that the @ bookmark points to is not
pushed to the target repository.

--HG--
branch : stable
clone: print bookmark name when clone activates a bookmark

Similar to the message that prints the checked out branch name.
Without this, the user might accidentally move the @ bookmark.

--HG--
branch : stable
bookmarks: backed out new message from changeset 52c7e171e355

Not strictly a bugfix, hasn't achieved consensus yet.

--HG--
branch : stable
subrepo: isolate configuration between each repositories in subrepo tree

Before this patch, repository local configurations are not isolated
between repositories in subrepo tree, because "localrepository"
objects for each subrepositories are created with "ui" instance of the
parent of each ones.

So, local configuration of the parent or higher repositories are
visible also in children or lower ones.

This patch uses "baseui" instead of "ui" to create repository object:
the former contains only global configuration.

This patch also copies 'ui.commitsubrepos' configuration to commit
recursively in subrepo tree, because it may be set in not
"repo.baseui" but "repo.ui".

--HG--
branch : stable
extra : rebase_source : a831bfdbef21cb5c7c926e15408fcf7518aeb856
peer: subrepo isolation, pass repo instead of repo.ui to hg.peer

Do not pass ui because it contains the configuration of the repo. It is the
same object as repo.ui.
When a repo is passed to hg.peer, the global configuration is read from
repo.baseui.

--HG--
branch : stable
extra : rebase_source : ee40dab7fb1749f0a3739cb04e0202019ed5f379
subrepo: more isolation, only use ui for hg.peer when there is no repo

ui contains repo specific configuration, so do not use it when there is a repo.
But pass it to hg.peer when there is no repo. Then it only contains global
configuration.

--HG--
branch : stable
extra : rebase_source : 6dde6318775cd544bd17c49dd54a9c23dee893a3
subrepo: subrepo isolation, pass baseui when cloning a new subrepo (issue2904)

Create the repo with baseui because it should only get the global configuration.

After this patch issue2904 is finally fixed.

--HG--
branch : stable
extra : rebase_source : 46ae31aec18d70f32f53bdf07875216a69eddcc9