瀏覽代碼

svn merge -c 1301250 from trunk for HADOOP-8173.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23.2@1301252 13f79535-47bb-0310-9956-ffa450edef68
Tsz-wo Sze 13 年之前
父節點
當前提交
1d31c62e4b

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -89,6 +89,9 @@ Release 0.23.2 - UNRELEASED
     HADOOP-8164. Back slash as path separator is handled for Windows only.
     (Daryn Sharp via suresh)
 
+    HADOOP-8173. FsShell needs to handle quoted metachars.  (Daryn Sharp via
+    szetszwo)
+
 Release 0.23.1 - 2012-02-17 
 
   INCOMPATIBLE CHANGES

+ 2 - 1
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/PathData.java

@@ -36,7 +36,6 @@ import org.apache.hadoop.fs.shell.PathExceptions.PathIOException;
 import org.apache.hadoop.fs.shell.PathExceptions.PathIsDirectoryException;
 import org.apache.hadoop.fs.shell.PathExceptions.PathIsNotDirectoryException;
 import org.apache.hadoop.fs.shell.PathExceptions.PathNotFoundException;
-import org.apache.hadoop.io.Writable;
 
 /**
  * Encapsulates a Path (path), its FileStatus (stat), and its FileSystem (fs).
@@ -267,6 +266,8 @@ public class PathData implements Comparable<PathData> {
     PathData[] items = null;
     
     if (stats == null) {
+      // remove any quoting in the glob pattern
+      pattern = pattern.replaceAll("\\\\(.)", "$1");
       // not a glob & file not found, so add the path with a null stat
       items = new PathData[]{ new PathData(fs, pattern, null) };
     } else {