tests/test-pull-update.t
author Brodie Rao <brodie@bitheap.org>
Wed, 30 Mar 2011 20:03:05 -0700
changeset 13826 e574207e3bcd
parent 12279 28e2e3804f2e
child 14485 610873cf064a
permissions -rw-r--r--
url: refactor util.drop_scheme() and hg.localpath() into url.localpath() This replaces util.drop_scheme() with url.localpath(), using url.url for parsing instead of doing it on its own. The function is moved from util to url to avoid an import cycle. hg.localpath() is removed in favor of using url.localpath(). This provides more consistent behavior between "hg clone" and other commands. To preserve backwards compatibility, URLs like bundle://../foo still refer to ../foo, not /foo. If a URL contains a scheme, percent-encoded entities are decoded. When there's no scheme, all characters are left untouched. Comparison of old and new behaviors: URL drop_scheme() hg.localpath() url.localpath() === ============= ============== =============== file://foo/foo /foo foo/foo /foo file://localhost:80/foo /foo localhost:80/foo /foo file://localhost:/foo /foo localhost:/foo /foo file://localhost/foo /foo /foo /foo file:///foo /foo /foo /foo file://foo (empty string) foo / file:/foo /foo /foo /foo file:foo foo foo foo file:foo%23bar foo%23bar foo%23bar foo#bar foo%23bar foo%23bar foo%23bar foo%23bar /foo /foo /foo /foo Windows-related paths on Windows: URL drop_scheme() hg.localpath() url.localpath() === ============= ============== =============== file:///C:/foo C:/C:/foo /C:/foo C:/foo file:///D:/foo C:/D:/foo /D:/foo D:/foo file://C:/foo C:/foo C:/foo C:/foo file://D:/foo C:/foo D:/foo D:/foo file:////foo/bar //foo/bar //foo/bar //foo/bar //foo/bar //foo/bar //foo/bar //foo/bar \\foo\bar //foo/bar //foo/bar \\foo\bar Windows-related paths on other platforms: file:///C:/foo C:/C:/foo /C:/foo C:/foo file:///D:/foo C:/D:/foo /D:/foo D:/foo file://C:/foo C:/foo C:/foo C:/foo file://D:/foo C:/foo D:/foo D:/foo file:////foo/bar //foo/bar //foo/bar //foo/bar //foo/bar //foo/bar //foo/bar //foo/bar \\foo\bar //foo/bar //foo/bar \\foo\bar For more information about file:// URL handling, see: http://www-archive.mozilla.org/quality/networking/testing/filetests.html Related issues: - issue1153: File URIs aren't handled correctly in windows This patch should preserve the fix implemented in 2770d03ae49f. However, it goes a step further and "promotes" Windows-style drive letters from being interpreted as host names to being part of the path. - issue2154: Cannot escape '#' in Mercurial URLs (#1172 in THG) The fragment is still interpreted as a revision or a branch, even in paths to bundles. However, when file: is used, percent-encoded entities are decoded, so file:test%23bundle.hg can refer to test#bundle.hg ond isk.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     1
  $ hg init t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     2
  $ cd t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     3
  $ echo 1 > foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     4
  $ hg ci -Am m
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     5
  adding foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     6
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     7
  $ cd ..
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     8
  $ hg clone t tt
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
     9
  updating to branch default
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    10
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    11
  $ cd tt
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    12
  $ echo 1.1 > foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    13
  $ hg ci -Am m
5080
73fdc8bd3ed8 Update on pull -u when heads were closed (fixes issue666).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    14
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    15
  $ cd ../t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    16
  $ echo 1.2 > foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    17
  $ hg ci -Am m
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    18
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    19
Should not update:
5080
73fdc8bd3ed8 Update on pull -u when heads were closed (fixes issue666).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    20
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    21
  $ hg pull -u ../tt
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    22
  pulling from ../tt
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    23
  searching for changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    24
  adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    25
  adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    26
  adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    27
  added 1 changesets with 1 changes to 1 files (+1 heads)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    28
  not updating, since new heads added
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    29
  (run 'hg heads' to see heads, 'hg merge' to merge)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    30
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    31
  $ cd ../tt
5080
73fdc8bd3ed8 Update on pull -u when heads were closed (fixes issue666).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    32
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    33
Should not update:
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    34
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    35
  $ hg pull -u ../t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    36
  pulling from ../t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    37
  searching for changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    38
  adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    39
  adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    40
  adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    41
  added 1 changesets with 1 changes to 1 files (+1 heads)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    42
  not updating, since new heads added
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    43
  (run 'hg heads' to see heads, 'hg merge' to merge)
5080
73fdc8bd3ed8 Update on pull -u when heads were closed (fixes issue666).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    44
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    45
  $ HGMERGE=true hg merge
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    46
  merging foo
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    47
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    48
  (branch merge, don't forget to commit)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    49
  $ hg ci -mm
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    50
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    51
  $ cd ../t
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    52
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    53
Should work:
5080
73fdc8bd3ed8 Update on pull -u when heads were closed (fixes issue666).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    54
12279
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    55
  $ hg pull -u ../tt
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    56
  pulling from ../tt
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    57
  searching for changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    58
  adding changesets
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    59
  adding manifests
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    60
  adding file changes
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    61
  added 1 changesets with 1 changes to 1 files (-1 heads)
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    62
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
28e2e3804f2e combine tests
Adrian Buehlmann <adrian@cadifra.com>
parents: 5080
diff changeset
    63