view tests/test-update-reverse.t @ 13019:42ac864ed394

test-hardlinks: add testcase for repo copied with 'cp -al' This patch adds a case to test-hardlinks.t which demonstrates that hardlinks in the working directory are broken up (using 'hg update'). Motivation for this patch: 'hg help clone' shows copying repositories *and* the working directory using 'cp -al', creating hardlinks in the *working directory* too (not just in the store). Note that we can't use 'cp -al' since for example MacOS X doesn't support these options on cp. I'm thus using the same trick as in test-hardlinks-safety.t for creating hardlinks in the working dir.
author Adrian Buehlmann <adrian@cadifra.com>
date Wed, 17 Nov 2010 16:54:30 +0100
parents 28e2e3804f2e
children efdcce3fd2d5
line wrap: on
line source

  $ hg init

  $ touch a
  $ hg add a
  $ hg commit -m "Added a"

  $ touch main
  $ hg add main
  $ hg commit -m "Added main"
  $ hg checkout 0
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved

'main' should be gone:

  $ ls
  a

  $ touch side1
  $ hg add side1
  $ hg commit -m "Added side1"
  created new head
  $ touch side2
  $ hg add side2
  $ hg commit -m "Added side2"

  $ hg log
  changeset:   3:91ebc10ed028
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     Added side2
  
  changeset:   2:b932d7dbb1e1
  parent:      0:c2eda428b523
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     Added side1
  
  changeset:   1:71a760306caf
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     Added main
  
  changeset:   0:c2eda428b523
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     Added a
  

  $ hg heads
  changeset:   3:91ebc10ed028
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     Added side2
  
  changeset:   1:71a760306caf
  user:        test
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     Added main
  
  $ ls
  a
  side1
  side2

  $ hg update --debug -C 1
  resolving manifests
   overwrite True partial False
   ancestor 91ebc10ed028+ local 91ebc10ed028+ remote 71a760306caf
   side2: other deleted -> r
   side1: other deleted -> r
   main: remote created -> g
  updating: side1 1/3 files (33.33%)
  removing side1
  updating: side2 2/3 files (66.67%)
  removing side2
  updating: main 3/3 files (100.00%)
  getting main
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved

  $ ls
  a
  main