view tests/test-convert-tagsbranch-topology.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 6b7077df4aa5
children cfd892b7569f
line wrap: on
line source


  $ "$TESTDIR/hghave" git || exit 80
  $ echo "[extensions]" >> $HGRCPATH
  $ echo "convert=" >> $HGRCPATH
  $ echo 'hgext.graphlog =' >> $HGRCPATH
  $ echo '[convert]' >> $HGRCPATH
  $ echo 'hg.usebranchnames = True' >> $HGRCPATH
  $ echo 'hg.tagsbranch = tags-update' >> $HGRCPATH
  $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
  $ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
  $ GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
  $ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
  $ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
  $ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
  $ count=10
  $ action()
  > {
  >     GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000"
  >     GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
  >     git "$@" >/dev/null 2>/dev/null || echo "git command error"
  >     count=`expr $count + 1`
  > }
  $ glog()
  > {
  >     hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
  > }
  $ convertrepo()
  > {
  >     hg convert --datesort git-repo hg-repo
  > }

Build a GIT repo with at least 1 tag

  $ mkdir git-repo
  $ cd git-repo
  $ git init >/dev/null 2>&1
  $ echo a > a
  $ git add a
  $ action commit -m "rev1"
  $ action tag -m "tag1" tag1
  $ cd ..

Do a first conversion

  $ convertrepo
  initializing destination hg-repo repository
  scanning source...
  sorting...
  converting...
  0 rev1
  updating tags
  updating bookmarks

Simulate upstream  updates after first conversion

  $ cd git-repo
  $ echo b > a
  $ git add a
  $ action commit -m "rev2"
  $ action tag -m "tag2" tag2
  $ cd ..

Perform an incremental conversion

  $ convertrepo
  scanning source...
  sorting...
  converting...
  0 rev2
  updating tags
  updating bookmarks

Print the log

  $ cd hg-repo
  $ glog
  o  3 "update tags" files: .hgtags
  |
  | o  2 "rev2" files: a
  | |
  o |  1 "update tags" files: .hgtags
   /
  o  0 "rev1" files: a