Mercurial > hg
view tests/test-rebase-interruptions.t @ 15375:fe9d36a6853e stable
hgweb: fix dynamic date calculation not working under Safari
While Chrome, Firefox, and IE 6+ support the current date format being
passed to Date(), Safari doesn't:
> new Date('Mon Oct 24 13:58:01 2011 +0200')
Invalid Date
However, the rfc822date format--officially supported by
ECMAScript[1]--does work:
> new Date('Mon, 24 Oct 2011 13:58:01 +0200')
Mon Oct 24 2011 04:58:01 GMT-0700 (PDT)
This change replaces all instances of {date|date} in HTML with
{date|rfc822date}. For elements that only have the "age" class,
there's no outward change for users with JavaScript enabled. For
elements with both the "age" and "date" classes, the full date
displayed uses the new format.
Tested in IE 6, Safari 5.1.1, Google Chrome 15, and Firefox 7.0.1.
[1]: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Thu, 27 Oct 2011 11:57:08 -0700 |
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 ..