view tests/test-rebase-interruptions.t @ 13163:2fa2e6444645 stable

https: warn when server certificate isn't verified Mercurial will verify HTTPS server certificates if web.cacerts is configured, but it will by default silently not verify any certificates. We now warn the user that when the certificate isn't verified she won't get the security she might expect from https: warning: localhost certificate not verified (check web.cacerts config setting) Self-signed certificates can be accepted silently by configuring web.cacerts to point to a suitable certificate file.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 18 Dec 2010 21:58:52 +0100
parents b19b4c1df066
children 2371f4aea665
line wrap: on
line source

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > graphlog=
  > rebase=
  > 
  > [alias]
  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
  > EOF


  $ hg init a
  $ cd a

  $ echo A > A
  $ hg ci -Am A
  adding A

  $ echo B > B
  $ hg ci -Am B
  adding B

  $ echo C >> A
  $ hg ci -m C

  $ hg up -q -C 0

  $ echo D >> A
  $ hg ci -m D
  created new head

  $ echo E > E
  $ hg ci -Am E
  adding E

  $ cd ..


Changes during an interruption - continue:

  $ hg clone -q -u . a a1
  $ cd a1

  $ hg tglog
  @  4: 'E'
  |
  o  3: 'D'
  |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
Rebasing B onto E:

  $ hg rebase -s 1 -d 4
  merging A
  warning: conflicts during merge.
  merging A failed!
  abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
  [255]

Force a commit on C during the interruption:

  $ hg up -q -C 2

  $ echo 'Extra' > Extra
  $ hg add Extra
  $ hg ci -m 'Extra'

  $ hg tglog
  @  6: 'Extra'
  |
  | o  5: 'B'
  | |
  | o  4: 'E'
  | |
  | o  3: 'D'
  | |
  o |  2: 'C'
  | |
  o |  1: 'B'
  |/
  o  0: 'A'
  
Resume the rebasing:

  $ hg rebase --continue
  merging A
  warning: conflicts during merge.
  merging A failed!
  abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
  [255]

Solve the conflict and go on:

  $ echo 'conflict solved' > A
  $ rm A.orig
  $ hg resolve -m A

  $ hg rebase --continue
  warning: new changesets detected on source branch, not stripping

  $ hg tglog
  @  7: 'C'
  |
  | o  6: 'Extra'
  | |
  o |  5: 'B'
  | |
  o |  4: 'E'
  | |
  o |  3: 'D'
  | |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
  $ cd ..


Changes during an interruption - abort:

  $ hg clone -q -u . a a2
  $ cd a2

  $ hg tglog
  @  4: 'E'
  |
  o  3: 'D'
  |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
Rebasing B onto E:

  $ hg rebase -s 1 -d 4
  merging A
  warning: conflicts during merge.
  merging A failed!
  abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
  [255]

Force a commit on B' during the interruption:

  $ hg up -q -C 5

  $ echo 'Extra' > Extra
  $ hg add Extra
  $ hg ci -m 'Extra'

  $ hg tglog
  @  6: 'Extra'
  |
  o  5: 'B'
  |
  o  4: 'E'
  |
  o  3: 'D'
  |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
Abort the rebasing:

  $ hg rebase --abort
  warning: new changesets detected on target branch, can't abort
  [255]

  $ hg tglog
  @  6: 'Extra'
  |
  o  5: 'B'
  |
  o  4: 'E'
  |
  o  3: 'D'
  |
  | o  2: 'C'
  | |
  | o  1: 'B'
  |/
  o  0: 'A'
  
  $ cd ..