tests/test-logexchange.t
author Boris Feld <boris.feld@octobus.net>
Wed, 17 Jan 2018 17:07:55 +0100
changeset 35726 45b678bf3a78
parent 35347 a29fe459fc49
child 36059 62a428bf6359
permissions -rw-r--r--
atomicupdate: add an experimental option to use atomictemp when updating In some cases Mercurial truncating files when updating causes problems. It can happens when processes are currently reading the file or with big file or on NFS mounts. We add an experimental option to use the atomictemp option of vfs.__call__ in order to avoid the problem. The localrepository.wwrite seems to assume the files are created without the `x` flag; with atomictempfile, the new file might inherit the `x` flag from the destination. We force remove it afterward. This code could be refactored and the flag processing could be moved inside vfs. This patch should be tested with `--extra-config-opt experimental.update.atomic-file=True` as we disabled the option by default. Differential Revision: https://phab.mercurial-scm.org/D1882
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35236
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     1
Testing the functionality to pull remotenames
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     2
=============================================
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     3
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     4
  $ cat >> $HGRCPATH << EOF
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     5
  > [alias]
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     6
  > glog = log -G -T '{rev}:{node|short}  {desc}'
35331
773a9a06047c clone: add support for storing remotenames while cloning
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35256
diff changeset
     7
  > [experimental]
773a9a06047c clone: add support for storing remotenames while cloning
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35256
diff changeset
     8
  > remotenames = True
35236
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     9
  > EOF
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    10
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    11
Making a server repo
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    12
--------------------
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    13
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    14
  $ hg init server
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    15
  $ cd server
35256
8fbb2678d8e8 tests: remove {a..h} bashism from remotenames
Augie Fackler <augie@google.com>
parents: 35240
diff changeset
    16
  $ for ch in a b c d e f g h; do
8fbb2678d8e8 tests: remove {a..h} bashism from remotenames
Augie Fackler <augie@google.com>
parents: 35240
diff changeset
    17
  >   echo "foo" >> $ch
8fbb2678d8e8 tests: remove {a..h} bashism from remotenames
Augie Fackler <augie@google.com>
parents: 35240
diff changeset
    18
  >   hg ci -Aqm "Added "$ch
8fbb2678d8e8 tests: remove {a..h} bashism from remotenames
Augie Fackler <augie@google.com>
parents: 35240
diff changeset
    19
  > done
35236
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    20
  $ hg glog
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    21
  @  7:ec2426147f0e  Added h
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    22
  |
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    23
  o  6:87d6d6676308  Added g
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    24
  |
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    25
  o  5:825660c69f0c  Added f
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    26
  |
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    27
  o  4:aa98ab95a928  Added e
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    28
  |
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    29
  o  3:62615734edd5  Added d
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    30
  |
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    31
  o  2:28ad74487de9  Added c
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    32
  |
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    33
  o  1:29becc82797a  Added b
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    34
  |
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    35
  o  0:18d04c59bb5d  Added a
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    36
  
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    37
  $ hg bookmark -r 3 foo
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    38
  $ hg bookmark -r 6 bar
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    39
  $ hg up 4
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    40
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    41
  $ hg branch wat
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    42
  marked working directory as branch wat
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    43
  (branches are permanent and global, did you want a bookmark?)
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    44
  $ echo foo >> bar
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    45
  $ hg ci -Aqm "added bar"
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    46
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    47
Making a client repo
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    48
--------------------
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    49
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    50
  $ cd ..
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    51
35331
773a9a06047c clone: add support for storing remotenames while cloning
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35256
diff changeset
    52
  $ hg clone server client
773a9a06047c clone: add support for storing remotenames while cloning
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35256
diff changeset
    53
  updating to branch default
773a9a06047c clone: add support for storing remotenames while cloning
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35256
diff changeset
    54
  8 files updated, 0 files merged, 0 files removed, 0 files unresolved
35237
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    55
35331
773a9a06047c clone: add support for storing remotenames while cloning
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35256
diff changeset
    56
  $ cd client
35347
a29fe459fc49 remotenames: rename related file and storage dir to logexchange
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35331
diff changeset
    57
  $ cat .hg/logexchange/bookmarks
35237
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    58
  0
35236
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    59
  
35237
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    60
  87d6d66763085b629e6d7ed56778c79827273022\x00file:$TESTTMP/server\x00bar (esc)
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    61
  62615734edd52f06b6fb9c2beb429e4fe30d57b8\x00file:$TESTTMP/server\x00foo (esc)
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    62
35347
a29fe459fc49 remotenames: rename related file and storage dir to logexchange
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35331
diff changeset
    63
  $ cat .hg/logexchange/branches
35237
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    64
  0
35236
5a62910948d2 remotenames: move function to pull remotenames from the remoterepo to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    65
  
35237
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    66
  ec2426147f0e39dbc9cef599b066be6035ce691d\x00file:$TESTTMP/server\x00default (esc)
8df8ce2cc5dd remotenames: add functionality to store remotenames under .hg/hgremotenames/
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35236
diff changeset
    67
  3e1487808078543b0af6d10dadf5d46943578db0\x00file:$TESTTMP/server\x00wat (esc)
35238
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    68
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    69
Making a new server
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    70
-------------------
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    71
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    72
  $ cd ..
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    73
  $ hg init server2
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    74
  $ cd server2
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    75
  $ hg pull ../server/
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    76
  pulling from ../server/
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    77
  requesting all changes
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    78
  adding changesets
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    79
  adding manifests
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    80
  adding file changes
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    81
  added 9 changesets with 9 changes to 9 files (+1 heads)
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    82
  adding remote bookmark bar
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    83
  adding remote bookmark foo
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    84
  new changesets 18d04c59bb5d:3e1487808078
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    85
  (run 'hg heads' to see heads)
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    86
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    87
Pulling form the new server
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    88
---------------------------
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    89
  $ cd ../client/
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    90
  $ hg pull ../server2/
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    91
  pulling from ../server2/
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    92
  searching for changes
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    93
  no changes found
35347
a29fe459fc49 remotenames: rename related file and storage dir to logexchange
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35331
diff changeset
    94
  $ cat .hg/logexchange/bookmarks
35238
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    95
  0
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    96
  
35240
2ea6e42ed15e remotenames: consider existing data while storing newer data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35238
diff changeset
    97
  62615734edd52f06b6fb9c2beb429e4fe30d57b8\x00file:$TESTTMP/server\x00foo (esc)
2ea6e42ed15e remotenames: consider existing data while storing newer data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35238
diff changeset
    98
  87d6d66763085b629e6d7ed56778c79827273022\x00file:$TESTTMP/server\x00bar (esc)
35238
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
    99
  87d6d66763085b629e6d7ed56778c79827273022\x00file:$TESTTMP/server2\x00bar (esc)
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
   100
  62615734edd52f06b6fb9c2beb429e4fe30d57b8\x00file:$TESTTMP/server2\x00foo (esc)
35240
2ea6e42ed15e remotenames: consider existing data while storing newer data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35238
diff changeset
   101
35347
a29fe459fc49 remotenames: rename related file and storage dir to logexchange
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35331
diff changeset
   102
  $ cat .hg/logexchange/branches
35238
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
   103
  0
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
   104
  
35240
2ea6e42ed15e remotenames: consider existing data while storing newer data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35238
diff changeset
   105
  3e1487808078543b0af6d10dadf5d46943578db0\x00file:$TESTTMP/server\x00wat (esc)
2ea6e42ed15e remotenames: consider existing data while storing newer data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35238
diff changeset
   106
  ec2426147f0e39dbc9cef599b066be6035ce691d\x00file:$TESTTMP/server\x00default (esc)
35238
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
   107
  ec2426147f0e39dbc9cef599b066be6035ce691d\x00file:$TESTTMP/server2\x00default (esc)
54bb94b715ad remotenames: add test showing overwriting on remotenames data
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35237
diff changeset
   108
  3e1487808078543b0af6d10dadf5d46943578db0\x00file:$TESTTMP/server2\x00wat (esc)