tests/test-merge8.t
author Anton Shestakov <av6@dwimlabs.net>
Wed, 22 Nov 2017 21:49:36 +0800
changeset 35160 69a865dc2ada
parent 34661 eb586ed5d8ce
permissions -rw-r--r--
hgweb: define locally used variables as actually local in mercurial.js Variables that are used or assigned without any declaration using var (or let, or const) are considered global. In many cases this is inadvertent and actually causes a variable leaking to a broader scope, such as a temporary variable used inside a loop suddenly being accessible in global scope. (This corresponds to "undef" option of jshint). So this patch limits the scope of variables that don't need to be global. There are a lot of helper variables in Graph.render() used in a loop, I've declared them all on one line to reduce patch size. "radius" is special because it wasn't passed to graph.vertex, but was used there (it worked because this variable leaked to global scope). "window.graph" is created by an inline script in graph.tmpl so that it can be used in ajaxScrollInit() function, this patch makes this fact explicit by assigning window.graph to a local variable.

Test for changeset ba7c74081861
(update dirstate correctly for non-branchmerge updates)
  $ hg init a
  $ cd a
  $ echo a > a
  $ hg add a
  $ hg commit -m a
  $ cd ..
  $ hg clone a b
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd a
  $ hg mv a b
  $ hg commit -m move
  $ echo b >> b
  $ hg commit -m b
  $ cd ../b
  $ hg pull ../a
  pulling from ../a
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 2 changesets with 2 changes to 1 files
  new changesets e3c9b40284e1:772b37f1ca37
  (run 'hg update' to get a working copy)
  $ hg update
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ cd ..