summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RELEASING7
-rw-r--r--doc/manual.asciidoc2
-rw-r--r--src/disk_interface.cc2
-rw-r--r--src/disk_interface_test.cc21
-rw-r--r--src/version.cc2
5 files changed, 29 insertions, 5 deletions
diff --git a/RELEASING b/RELEASING
index c4973b2..fd4affb 100644
--- a/RELEASING
+++ b/RELEASING
@@ -2,11 +2,16 @@ Notes to myself on all the steps to make for a Ninja release.
Push new release branch:
1. Consider sending a heads-up to the ninja-build mailing list first
-2. update src/version.cc with new version (with ".git"), commit to master
+2. update src/version.cc with new version (with ".git"), then
+ git commit -a -m 'mark this 1.5.0.git'
3. git checkout release; git merge master
4. fix version number in src/version.cc (it will likely conflict in the above)
5. fix version in doc/manual.asciidoc
6. commit, tag, push (don't forget to push --tags)
+ git commit -a -m v1.5.0; git push origin release
+ git tag v1.5.0; git push --tags
+ # Push the 1.5.0.git change on master too:
+ git checkout master; git push origin master
7. construct release notes from prior notes
credits: git shortlog -s --no-merges REV..
diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc
index bacb5f6..28fd9d3 100644
--- a/doc/manual.asciidoc
+++ b/doc/manual.asciidoc
@@ -1,7 +1,7 @@
Ninja
=====
Evan Martin <martine@danga.com>
-v1.5.0, June 2014
+v1.5.1, June 2014
Introduction
diff --git a/src/disk_interface.cc b/src/disk_interface.cc
index ae2146e..b170f63 100644
--- a/src/disk_interface.cc
+++ b/src/disk_interface.cc
@@ -117,8 +117,6 @@ bool StatAllFilesInDir(const string& dir, map<string, TimeStamp>* stamps,
return false;
}
do {
- if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
- continue;
string lowername = ffd.cFileName;
transform(lowername.begin(), lowername.end(), lowername.begin(), ::tolower);
stamps->insert(make_pair(lowername,
diff --git a/src/disk_interface_test.cc b/src/disk_interface_test.cc
index f4e0bb0..b2e8cb5 100644
--- a/src/disk_interface_test.cc
+++ b/src/disk_interface_test.cc
@@ -76,6 +76,18 @@ TEST_F(DiskInterfaceTest, StatExistingFile) {
EXPECT_GT(disk_.Stat("file"), 1);
}
+TEST_F(DiskInterfaceTest, StatExistingDir) {
+ ASSERT_TRUE(disk_.MakeDir("subdir"));
+ ASSERT_TRUE(disk_.MakeDir("subdir/subsubdir"));
+ EXPECT_GT(disk_.Stat("."), 1);
+ EXPECT_GT(disk_.Stat("subdir"), 1);
+ EXPECT_GT(disk_.Stat("subdir/subsubdir"), 1);
+
+ EXPECT_EQ(disk_.Stat("subdir"), disk_.Stat("subdir/."));
+ EXPECT_EQ(disk_.Stat("subdir"), disk_.Stat("subdir/subsubdir/.."));
+ EXPECT_EQ(disk_.Stat("subdir/subsubdir"), disk_.Stat("subdir/subsubdir/."));
+}
+
#ifdef _WIN32
TEST_F(DiskInterfaceTest, StatCache) {
disk_.AllowStatCache(true);
@@ -83,6 +95,7 @@ TEST_F(DiskInterfaceTest, StatCache) {
ASSERT_TRUE(Touch("file1"));
ASSERT_TRUE(Touch("fiLE2"));
ASSERT_TRUE(disk_.MakeDir("subdir"));
+ ASSERT_TRUE(disk_.MakeDir("subdir/subsubdir"));
ASSERT_TRUE(Touch("subdir\\subfile1"));
ASSERT_TRUE(Touch("subdir\\SUBFILE2"));
ASSERT_TRUE(Touch("subdir\\SUBFILE3"));
@@ -93,6 +106,14 @@ TEST_F(DiskInterfaceTest, StatCache) {
EXPECT_GT(disk_.Stat("subdir/subfile2"), 1);
EXPECT_GT(disk_.Stat("sUbdir\\suBFile1"), 1);
+ EXPECT_GT(disk_.Stat("."), 1);
+ EXPECT_GT(disk_.Stat("subdir"), 1);
+ EXPECT_GT(disk_.Stat("subdir/subsubdir"), 1);
+
+ EXPECT_EQ(disk_.Stat("subdir"), disk_.Stat("subdir/."));
+ EXPECT_EQ(disk_.Stat("subdir"), disk_.Stat("subdir/subsubdir/.."));
+ EXPECT_EQ(disk_.Stat("subdir/subsubdir"), disk_.Stat("subdir/subsubdir/."));
+
// Test error cases.
disk_.quiet_ = true;
string bad_path("cc:\\foo");
diff --git a/src/version.cc b/src/version.cc
index 6d2d37c..3fb729f 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -18,7 +18,7 @@
#include "util.h"
-const char* kNinjaVersion = "1.5.0";
+const char* kNinjaVersion = "1.5.1";
void ParseVersion(const string& version, int* major, int* minor) {
size_t end = version.find('.');