From 10c1a416fc10f4dad2b9bdc830da99138280e68a Mon Sep 17 00:00:00 2001 From: Eli Collins Date: Tue, 10 Jan 2012 05:13:20 +0000 Subject: [PATCH] HADOOP-7348. svn merge -c 1225192 from trunk git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1229469 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../content/xdocs/file_system_shell.xml | 4 ++-- .../org/apache/hadoop/fs/shell/CopyCommands.java | 16 ++++++---------- .../src/test/resources/testConf.xml | 6 +++++- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 8516bbdaa8d..67b319784cd 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -59,6 +59,9 @@ Release 0.23.1 - Unreleased HADOOP-7934. Normalize dependencies versions across all modules. (tucu) + HADOOP-7348. Change 'addnl' in getmerge util to be a flag '-nl' instead. + (XieXianshan via harsh) + OPTIMIZATIONS BUG FIXES diff --git a/hadoop-common-project/hadoop-common/src/main/docs/src/documentation/content/xdocs/file_system_shell.xml b/hadoop-common-project/hadoop-common/src/main/docs/src/documentation/content/xdocs/file_system_shell.xml index ef4f76e5c8c..6206a968a72 100644 --- a/hadoop-common-project/hadoop-common/src/main/docs/src/documentation/content/xdocs/file_system_shell.xml +++ b/hadoop-common-project/hadoop-common/src/main/docs/src/documentation/content/xdocs/file_system_shell.xml @@ -260,11 +260,11 @@
getmerge

- Usage: hdfs dfs -getmerge <src> <localdst> [addnl] + Usage: hdfs dfs -getmerge [-nl] <src> <localdst>

Takes a source directory and a destination file as input and concatenates files in src into the destination local file. - Optionally addnl can be set to enable adding a newline character at the end of each file. + Optionally -nl flag can be set to enable adding a newline character at the end of each file during merge.

diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/CopyCommands.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/CopyCommands.java index 066e5fdb899..5260d9c80de 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/CopyCommands.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/CopyCommands.java @@ -45,26 +45,22 @@ class CopyCommands { /** merge multiple files together */ public static class Merge extends FsCommand { public static final String NAME = "getmerge"; - public static final String USAGE = " [addnl]"; + public static final String USAGE = "[-nl] "; public static final String DESCRIPTION = "Get all the files in the directories that\n" + "match the source file pattern and merge and sort them to only\n" + - "one file on local fs. is kept."; + "one file on local fs. is kept.\n" + + " -nl Add a newline character at the end of each file."; protected PathData dst = null; protected String delimiter = null; @Override protected void processOptions(LinkedList args) throws IOException { - CommandFormat cf = new CommandFormat(2, 3); + CommandFormat cf = new CommandFormat(2, 3, "nl"); cf.parse(args); - // TODO: this really should be a -nl option - if ((args.size() > 2) && Boolean.parseBoolean(args.removeLast())) { - delimiter = "\n"; - } else { - delimiter = null; - } + delimiter = cf.getOpt("nl") ? "\n" : null; dst = new PathData(new File(args.removeLast()), getConf()); } @@ -197,4 +193,4 @@ class CopyCommands { public static final String USAGE = Get.USAGE; public static final String DESCRIPTION = "Identical to the -get command."; } -} \ No newline at end of file +} diff --git a/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml b/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml index b508c304c8e..c471a9410ee 100644 --- a/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml +++ b/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml @@ -449,7 +449,7 @@ RegexpComparator - ^-getmerge <src> <localdst> \[addnl\]:( |\t)*Get all the files in the directories that( )* + ^-getmerge \[-nl\] <src> <localdst>:( |\t)*Get all the files in the directories that( )* RegexpComparator @@ -459,6 +459,10 @@ RegexpComparator ^( |\t)*one file on local fs. <src> is kept.( )* + + RegexpComparator + ^( |\t)*-nl Add a newline character at the end of each file.( )* +