From c3d28d28970d33334d052fabbbf1a182fc97348f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?=
 <bjorn.erik.pedersen@gmail.com>
Date: Tue, 12 Apr 2016 18:11:52 +0200
Subject: [PATCH] Revert "Add Node.ID"

This reverts commit 5ef52294f90c51697bd3f918b3c3ed83baff657a.
---
 hugolib/node.go      | 22 +---------------------
 hugolib/node_test.go | 28 ----------------------------
 2 files changed, 1 insertion(+), 49 deletions(-)

diff --git a/hugolib/node.go b/hugolib/node.go
index 7e9ad7458..86ba841c6 100644
--- a/hugolib/node.go
+++ b/hugolib/node.go
@@ -14,12 +14,10 @@
 package hugolib
 
 import (
+	"github.com/spf13/cast"
 	"html/template"
 	"sync"
-	"sync/atomic"
 	"time"
-
-	"github.com/spf13/cast"
 )
 
 type Node struct {
@@ -39,24 +37,6 @@ type Node struct {
 	paginator     *Pager
 	paginatorInit sync.Once
 	scratch       *Scratch
-	id            int
-	idInit        sync.Once
-}
-
-// This should probably be owned by Site and new ids assigned on creation,
-// but that would lead to massive changes; do it simple for now.
-var nodeIDCounter uint64
-
-func nextNodeID() int {
-	return int(atomic.AddUint64(&nodeIDCounter, 1))
-}
-
-// ID returns an integer that identifies this Node.
-// This is unique for a given Hugo build, but must not be considered stable.
-// See UniqueID on Page for an identify that is stable for repeated builds.
-func (n *Node) ID() int {
-	n.idInit.Do(func() { n.id = nextNodeID() })
-	return n.id
 }
 
 func (n *Node) Now() time.Time {
diff --git a/hugolib/node_test.go b/hugolib/node_test.go
index 5b83cc0ad..3b8f868dc 100644
--- a/hugolib/node_test.go
+++ b/hugolib/node_test.go
@@ -14,11 +14,8 @@
 package hugolib
 
 import (
-	"sync"
 	"testing"
 	"time"
-
-	"github.com/stretchr/testify/assert"
 )
 
 func TestNodeSimpleMethods(t *testing.T) {
@@ -41,28 +38,3 @@ func TestNodeSimpleMethods(t *testing.T) {
 		}
 	}
 }
-
-func TestNodeID(t *testing.T) {
-	t.Parallel()
-
-	n1 := &Node{}
-	n2 := &Node{}
-
-	assert.True(t, n1.ID() > 0)
-	assert.Equal(t, n1.ID(), n1.ID())
-	assert.True(t, n2.ID() > n1.ID())
-
-	var wg sync.WaitGroup
-
-	for i := 1; i <= 10; i++ {
-		wg.Add(1)
-		go func(j int) {
-			for k := 0; k < 10; k++ {
-				n := &Node{}
-				assert.True(t, n.ID() > 0)
-			}
-			wg.Done()
-		}(i)
-	}
-	wg.Wait()
-}