You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by zl...@apache.org on 2017/02/22 09:43:46 UTC

svn commit: r1783988 [2/24] - in /pig/branches/spark: ./ bin/ conf/ contrib/piggybank/java/ contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/ contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelo...

Added: pig/branches/spark/PIG-5132.2.patch
URL: http://svn.apache.org/viewvc/pig/branches/spark/PIG-5132.2.patch?rev=1783988&view=auto
==============================================================================
--- pig/branches/spark/PIG-5132.2.patch (added)
+++ pig/branches/spark/PIG-5132.2.patch Wed Feb 22 09:43:41 2017
@@ -0,0 +1,212504 @@
+diff --git a/.gitignore b/.gitignore
+index 4ff5f7e..4d35082 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -23,3 +23,4 @@ contrib/piggybank/java/piggybank.jar
+ conf/log4j.properties
+ lib/jdiff/pig_*SNAPSHOT.xml
+ test/resources/*.jar
++!ivy/ant-contrib-1.0b3.jar
+diff --git a/BUILDING.md b/BUILDING.md
+new file mode 100644
+index 0000000..a3ee000
+--- /dev/null
++++ b/BUILDING.md
+@@ -0,0 +1,71 @@
++# Building Apache Pig
++
++## Requirements:
++
++* Unix System
++* JDK 1.7+
++* Ant 1.8.1+
++* Findbugs 3.x+
++* Forrest 0.9 (for building the documentation)
++* Internet connection for first build (to fetch all dependencies)
++
++**Note**: Further down this document you can read about the _ready to run build environment_.
++
++## Building Pig
++
++To compile with Hadoop 2.x 
++
++    ant clean jar piggybank
++
++Building and running the tests needed before submitting a patch.
++For more details https://cwiki.apache.org/confluence/display/PIG/HowToContribute
++    
++    ANT_OPTS='-Djavac.args="-Xlint -Xmaxwarns 1000"'
++    ant ${ANT_OPTS} clean piggybank jar compile-test test-commit
++    cd contrib/piggybank/java && ant ${ANT_OPTS} test
++
++Generate documentation
++
++    ant docs
++
++# Ready to run build environment
++The easiest way to get an environment with all the appropriate tools is by means
++of the provided Docker config.
++This requires a recent version of docker ( 1.4.1 and higher are known to work ).
++
++## How it works
++By using the mounted volumes feature of Docker this image will wrap itself around the directory from which it is started.
++So the files within the docker environment are actually the same as outsite.
++
++A very valid way of working is by having your favourite IDE that has the project 
++open and a commandline into the docker that has the exact right tools to do the full build.
++
++## Using it on Linux:
++Install Docker and run this command:
++
++    $ ./start-build-env.sh
++
++## Using it on Mac:
++First make sure Homebrew has been installed ( http://brew.sh/ )
++    
++    $ brew install docker boot2docker
++    $ boot2docker init -m 4096
++    $ boot2docker start
++    $ $(boot2docker shellinit)
++    $ ./start-build-env.sh
++
++The prompt which is then presented is located at a mounted version of the source tree
++and all required tools for testing and building have been installed and configured.
++
++Note that from within this docker environment you ONLY have access to the source
++tree from where you started. 
++
++## Known issues:
++On Mac with Boot2Docker the performance on the mounted directory is currently extremely slow.
++This is a known problem related to boot2docker on the Mac.
++https://github.com/boot2docker/boot2docker/issues/593
++    This issue has been resolved as a duplicate, and they point to a new feature for utilizing NFS mounts as the proposed solution:
++
++https://github.com/boot2docker/boot2docker/issues/64
++    An alternative solution to this problem is when you install Linux native inside a virtual machine and run your IDE and Docker etc in side that VM.
++
+diff --git a/CHANGES.txt b/CHANGES.txt
+index 0263588..d2b12ed 100644
+--- a/CHANGES.txt
++++ b/CHANGES.txt
+@@ -19,11 +19,263 @@
+ Pig Change Log
+ 
+ Trunk (unreleased changes)
++ 
++INCOMPATIBLE CHANGES
++
++PIG-4728: Compilation against hbase 1.x fails with hbase-hadoop1-compat not found (szita via rohini)
++
++PIG-4897: Scope of param substitution for run/exec commands (knoguchi)
++
++PIG-4923: Drop Hadoop 1.x support in Pig 0.17 (szita via rohini)
++
++PIG-5109: Remove HadoopJobHistoryLoader (szita via daijy)
++
++PIG-5067: Revisit union on numeric type and chararray to bytearray (knoguchi)
++ 
++IMPROVEMENTS
++
++PIG-5085: Support FLATTEN of maps (szita via rohini)
++
++PIG-5126. Add doc about pig in zeppelin (zjffdu)
++
++PIG-5120: Let tez_local mode run without a jar file (knoguchi)
++
++PIG-3851: Upgrade jline to 2.11 (daijy)
++
++PIG-4963: Add a Bloom join (rohini)
++
++PIG-3938: Add LoadCaster to EvalFunc (knoguchi)
++
++PIG-5105: Tez unit tests failing with "Argument list too long" (rohini)
++
++PIG-4901: To use Multistorage for each Group (szita via daijy)
++
++PIG-5025: Fix flaky test failures in TestLoad.java (szita via rohini)
++
++PIG-4939: QueryParserUtils.setHdfsServers(QueryParserUtils.java:104) should not be called for non-dfs
++  methods (szita via daijy)
++
++PIG-5034: Remove org.apache.hadoop.hive.serde2.objectinspector.primitive package (nkollar via daijy)
++
++PIG-5036: Remove biggish from e2e input dataset (daijy)
++
++PIG-5053: Can't change HDFS user home in e2e tests using Ant (nkollar via daijy)
++
++PIG-5037: Add api getDisplayString to PigStats (zjffdu)
++
++PIG-5020: Give file location for loadcaster related warning and errors (knoguchi)
++
++PIG-5027: Improve SAMPLE Scalar Expression Example (icook via knoguchi)
++
++PIG-5023: Documentation for BagToTuple (icook via knoguchi)
++
++PIG-5022: Error in TOKENIZE Example (icook vi knoguchi)
++
++PIG-4931: Document IN operator (dbist13 vi daijy)
++
++PIG-4852: Add accumulator implementation for MaxTupleBy1stField (szita via daijy)
++
++PIG-4925: Support for passing the bloom filter to the Bloom UDF (rohini)
++
++PIG-4911: Provide option to disable DAG recovery (rohini)
++
++PIG-4906: Add Bigdecimal functions in Over function (cgalan via daijy)
++
++PIG-2768: Fix org.apache.hadoop.conf.Configuration deprecation warnings for Hadoop 23 (rohini)
++ 
++OPTIMIZATIONS
++ 
++BUG FIXES
++
++PIG-5127: Test fail when running test-core-mrtez (daijy)
++
++PIG-5083: CombinerPackager and LitePackager should not materialize bags (rohini)
++
++PIG-5087: e2e Native3 failing after PIG-4923 (knoguchi)
++
++PIG-5073: Skip e2e Limit_5 test for Tez (knoguchi)
++
++PIG-5072: e2e Union_12 fails on typecast when oldpig=0.11 (knoguchi)
++
++PIG-3891: FileBasedOutputSizeReader does not calculate size of files in sub-directories (nkollar via rohini)
++
++PIG-5070: Allow Grunt e2e tests to run in parallel (knoguchi)
++
++PIG-5061: ant test -Dtestcase=TestBoolean failing (knoguchi)
++
++PIG-5066: e2e Jython_Checkin_2 failing due to floating precision difference (knoguchi)
++
++PIG-5063: e2e IOErrors_1 on mapreduce is unstable (knoguchi)
++
++PIG-5062: Allow Native e2e tests to run in parallel (knoguchi)
++
++PIG-5060: TestPigRunner.testDisablePigCounters2 failing with tez (knoguchi)
++
++PIG-5056: Fix AvroStorage writing enums (szita via daijy)
++
++PIG-5055: Infinite loop with join by fixed index (knoguchi)
++
++PIG-5049: Cleanup e2e tests turing_jython.conf (Daniel Dai)
++
++PIG-5033: MultiQueryOptimizerTez creates bad plan with union, split and FRJoin (rohini,tmwoordruff via rohini)
++
++PIG-4934: SET command does not work well with deprecated settings (szita via daijy)
++
++PIG-4798: big integer literals fail to parse (szita via daijy)
++
++PIG-5045: CSVExcelStorage Load: A Quoted Field with a Single Escaped Quote """" Becomes "" This should become " instead
++  (szita via daijy)
++
++PIG-5026: Remove src/META-INF/services/org.apache.hadoop.mapreduce.protocol.ClientProtocolProvider (nkollar via daijy)
++
++PIG-5041: RoundRobinPartitioner is not deterministic when order of input records change (rohini)
++
++PIG-5040: Order by and CROSS partitioning is not deterministic due to usage of Random (rohini
++
++PIG-5038: Pig Limit_2 e2e test failed with sort check (Konstantin_Harasov via rohini)
++
++PIG-5039: TestTypeCheckingValidatorNewLP.TestTypeCheckingValidatorNewLP is failing (nkollar via knoguchi)
++
++PIG-3087: Refactor TestLogicalPlanBuilder to be meaningful (szita via daijy)
++
++PIG-4976: streaming job with store clause stuck if the script fail (daijy via knoguchi)
++
++PIG-5035: killJob API does not work in Tez (zjffdu via rohini)
++
++PIG-5032: Output record stats in Tez is wrong when there is split followed by union (rohini)
++
++PIG-5031: Tez failing to compile when replicate join is done with a limit vertex on left (knoguchi)
++
++PIG-5019: Pig generates tons of warnings for udf with enabled warnings aggregation (murshyd via rohini)
++
++PIG-4974: A simple map reference fail to cast (knoguchi)
++
++PIG-4975 Map schema shows "Type: null Uid: null" in explain (knoguchi)
++
++PIG-4973: Bigdecimal divison fails (szita via daijy)
++
++PIG-4967: NPE in PigJobControl.run() when job status is null (water via daijy)
++
++PIG-4972: StreamingIO_1 fail on perl 5.22 (daijy)
++
++PIG-4933: TestDataBagAccess.testBagConstantFlatten1/TestLogicalPlanBuilder.testQuery90 broken after PIG-2315 (knoguchi)
++
++PIG-4965: Refactor test/perf/pigmix/bin/runpigmix.pl to delete the output of single test case
++  if we enable cleanup_after_test (kellyzly via daijy)
++
++PIG-4966: Fix Pig compatibility with Hive 2.1.0 (zyork via daijy)
++
++PIG-4935: TEZ_USE_CLUSTER_HADOOP_LIBS is always set to true (rohini)
++
++PIG-4961: CROSS followed by LIMIT inside nested foreach drop data from result (rohini)
++
++PIG-4960: Split followed by order by/skewed join is skewed in Tez (rohini)
++
++PIG-4957: See "Received kill signal" message for a normal run after PIG-4921 (rohini)
++
++PIG-4953: Predicate push-down will not run filters for single unary expressions (rdblue via daijy)
++
++PIG-4940: Predicate push-down filtering unary expressions can be pushed (rdblue via daijy)
++
++PIG-4938: [PiggyBank] XPath returns empty values when using aggregation method (nkollar via daijy)
++
++PIG-4896: Param substitution ignored when redefined (knoguchi)
++
++PIG-2315: Make as clause work in generate (daijy via knoguchi)
++
++PIG-4921: Kill running jobs on InterruptedException (rohini)
++
++PIG-4916: Pig on Tez fail to remove temporary HDFS files in some cases (daijy)
++
++Release 0.16.1 - Unreleased
+ 
+ INCOMPATIBLE CHANGES
+ 
+ IMPROVEMENTS
+ 
++PIG-4945: Update document for conflicting macro params (knoguchi via daijy)
++
++OPTIMIZATIONS
++
++BUG FIXES
++
++PIG-5119: SkewedJoin_15 is unstable (daijy)
++
++PIG-5118: Script fails with Invalid dag containing 0 vertices (rohini)
++
++PIG-5111: e2e Utf8Test fails in local mode (rohini)
++
++PIG-5112: Cleanup pig-template.xml (daijy)
++
++PIG-5046: Skewed join with auto parallelism hangs when right input also has autoparallelism (rohini)
++
++PIG-5108: AvroStorage on Tez with exception on nested records (daijy)
++
++PIG-4260: SpillableMemoryManager.spill should revert spill on all exception (rohini)
++
++PIG-4918: Pig on Tez cannot switch pig.temp.dir to another fs (daijy)
++
++PIG-5078: Script fails with error - POStoreTez only accepts MROutput (rohini)
++
++PIG-5088: HashValuePartitioner has skew when there is only map fields (rohini)
++
++PIG-5043: Slowstart not applied in Tez with PARALLEL clause (rohini)
++
++PIG-4930: Skewed Join Breaks On Empty Sampled Input When Key is From Map (nkollar via rohini)
++
++PIG-3417: Job fails when skewed join is done on tuple key (nkollar via rohini)
++
++PIG-5074: Build broken when hadoopversion=20 in branch 0.16 (szita via daijy)
++
++PIG-5064: NPE in TestScriptUDF#testPythonBuiltinModuleImport1 when JAVA_HOME is not set (water via daijy)
++
++PIG-5048: HiveUDTF fail if it is the first expression in projection (nkollar via daijy)
++
++PIG-4951: Rename PIG_ATS_ENABLED constant (szita via daijy)
++
++PIG-4947: LOAD with HBaseStorage using a mix of pure wildcards and prefixed wildcards results
++  in empty maps for the pure wildcarded column families (daijy)
++
++PIG-4948: Pig on Tez AM use too much memory on a small cluster (daijy)
++
++PIG-4949: Fix registering jar in S3 which was broken by PIG-4417 in Pig 0.16 (yangyishan0901m via daijy)
++
++PIG-4950: Fix minor issues with running scripts in non-local FileSystems (petersla via daijy)
++
++Release 0.16.0
++
++INCOMPATIBLE CHANGES
++
++IMPROVEMENTS
++
++PIG-4719: Documentation for PIG-4704: Customizable Error Handling for Storers in Pig (daijy)
++
++PIG-4714: Improve logging across multiple components with callerId (daijy)
++
++PIG-4885: Turn off union optimizer if there is PARALLEL clause in union in Tez (rohini)
++
++PIG-4894: Add API for StoreFunc to specify if they are write safe from two different vertices (rohini)
++
++PIG-4884: Tez needs to use DistinctCombiner.Combine (rohini)
++
++PIG-4874: Remove schema tuple reference overhead for replicate join hashmap (rohini)
++
++PIG-4879: Pull latest version of joda-time (rohini)
++
++PIG-4526: Make setting up the build environment easier (nielsbasjes via rohini)
++
++PIG-4641: Print the instance of Object without using toString() (sandyridgeracer via rohini)
++
++PIG-4455: Should use DependencyOrderWalker instead of DepthFirstWalker in MRPrinter (zjffdu via rohini)
++
++PIG-4866: Do not serialize PigContext in configuration to the backend (rohini)
++
++PIG-4547: Update Jython version to 2.7.0 (erwaman via daijy)
++
++PIG-4862: POProject slow by creating StackTrace repeatedly (knoguchi)
++
++PIG-4853: Fetch inputs before starting outputs (rohini)
++
+ PIG-4847: POPartialAgg processing and spill improvements (rohini)
+ 
+ PIG-4840: Do not turn off UnionOptimizer for unsupported storefuncs in case of no vertex groups (rohini)
+@@ -105,6 +357,62 @@ PIG-4639: Add better parser for Apache HTTPD access log (nielsbasjes via daijy)
+ 
+ BUG FIXES
+ 
++PIG-4821: Pig chararray field with special UTF-8 chars as part of tuple join key produces wrong results in Tez (rohini)
++
++PIG-4734: TOMAP schema inferring breaks some scripts in type checking for bincond (daijy)
++
++PIG-4786: CROSS will not work correctly with Grace Parallelism (daijy)
++
++PIG-3227: SearchEngineExtractor does not work for bing (dannyant via daijy)
++
++PIG-4902: Fix UT failures on 0.16 branch: TestTezGraceParallelism, TestPigScriptParser (daijy)
++
++PIG-4909: PigStorage incompatible with commons-cli-1.3 (knoguchi)
++
++PIG-4908: JythonFunction refers to Oozie launcher script absolute path (rohini)
++
++PIG-4905: Input of empty dir does not produce empty output file in Tez (rohini)
++
++PIG-4576: Nightly test HCat_DDL_2 fails with TDE ON (nmaheshwari via daijy)
++
++PIG-4873: InputSplit.getLocations return null and result a NPE in Pig (daijy)
++
++PIG-4895: User UDFs relying on mapreduce.job.maps broken in Tez (rohini)
++
++PIG-4883: MapKeyType of splitter was set wrongly in specific multiquery case (kellyzly via rohini)
++
++PIG-4887: Parameter substitution skipped with glob on register (knoguchi)
++
++PIG-4889: Replacing backslash fails as lexical error (knoguchi)
++
++PIG-4880: Overlapping of parameter substitution names inside&outside a macro fails with NPE (knoguchi)
++
++PIG-4881: TestBuiltin.testUniqueID failing on hadoop-1.x (knoguchi)
++
++PIG-4888: Line number off when reporting syntax error inside a macro (knoguchi)
++
++PIG-3772: Syntax error when casting an inner schema of a bag and line break involved (ssvinarchukhorton via knoguchi)
++
++PIG-4892: removing /tmp/output before UT (daijy)
++
++PIG-4882: Remove hardcoded groovy.grape.report.downloads=true from DownloadResolver (erwaman via daijy)
++
++PIG-4581: thread safe issue in NodeIdGenerator (rcatherinot via rohini)
++
++PIG-4878: Fix issues from PIG-4847 (rohini)
++
++PIG-4877: LogFormat parser fails test (nielsbasjes via daijy)
++
++PIG-4860: Loading data using OrcStorage() accepts only default FileSystem path (beriaanirudh via rohini)
++
++PIG-4868: Low values for bytes.per.reducer configured by user not honored in Tez for inputs (rohini)
++
++PIG-4869: Removing unwanted configuration in Tez broke ConfiguredFailoverProxyProvider (rohini)
++
++PIG-4867: -stop_on_failure does not work with Tez (rohini)
++
++PIG-4844: Tez AM runs out of memory when vertex has high number of outputs (rohini)
++
+ PIG-4851: Null not padded when input has less fields than declared schema for some loader (rohini)
+ 
+ PIG-4850: Registered jars do not use submit replication (rdblue via cheolsoo)
+diff --git a/ant-contrib-1.0b3.jar b/ant-contrib-1.0b3.jar
+new file mode 100644
+index 0000000..f134a8e
+--- /dev/null
++++ b/ant-contrib-1.0b3.jar
+@@ -0,0 +1,1497 @@
++
++
++
++
++
++
++<!DOCTYPE html>
++<html lang="en">
++  <head>
++    <meta charset="utf-8">
++
++
++
++  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/frameworks-d311c4a37b4a480a760dda55c72eb656b70f39154f15e1b7a7f6506e143d7ec0.css" integrity="sha256-0xHEo3tKSAp2DdpVxy62VrcPORVPFeG3p/ZQbhQ9fsA=" media="all" rel="stylesheet" />
++  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-e61123ffa30f32f2e6c8d5b380149e4f71bb81319043e1d1f700fed50d7e536b.css" integrity="sha256-5hEj/6MPMvLmyNWzgBSeT3G7gTGQQ+HR9wD+1Q1+U2s=" media="all" rel="stylesheet" />
++  
++  
++  
++  
++
++  <meta name="viewport" content="width=device-width">
++  
++  <title>pig/ant-contrib-1.0b3.jar at trunk · apache/pig</title>
++  <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
++  <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
++  <meta property="fb:app_id" content="1401488693436528">
++
++
++  <link rel="assets" href="https://assets-cdn.github.com/">
++  <link rel="web-socket" href="wss://live.github.com/_sockets/VjI6MTQ5NDA1ODA3OmMxNzQ3ZmFlZjM4ZmIxZTliMTEzMTE5ZDVlZThjMTc2OWRiYWZkNGQyYWUwZTI2MTY3OGM5YzYzODE4ODE3NGI=--81fd9363290538b9c0e4f39061fa3ea10f903de4">
++  <meta name="pjax-timeout" content="1000">
++  <link rel="sudo-modal" href="/sessions/sudo_modal">
++  <meta name="request-id" content="FADE:2F9A0:D17F47C:15308DDA:58ACF76D" data-pjax-transient>
++  
++
++  <meta name="selected-link" value="repo_source" data-pjax-transient>
++
++  <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
++<meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
++    <meta name="google-analytics" content="UA-3769691-2">
++
++<meta content="collector.githubapp.com" name="octolytics-host" /><meta content="github" name="octolytics-app-id" /><meta content="https://collector.githubapp.com/github-external/browser_event" name="octolytics-event-url" /><meta content="FADE:2F9A0:D17F47C:15308DDA:58ACF76D" name="octolytics-dimension-request_id" /><meta content="4190711" name="octolytics-actor-id" /><meta content="kellyzly" name="octolytics-actor-login" /><meta content="24efdc05a1d60aa22a73e53f3a33b5a92511f1be9841ff45c645992ccd5307bb" name="octolytics-actor-hash" />
++<meta content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" name="analytics-location" />
++
++
++
++  <meta class="js-ga-set" name="dimension1" content="Logged In">
++
++
++
++      <meta name="hostname" content="github.com">
++  <meta name="user-login" content="kellyzly">
++
++      <meta name="expected-hostname" content="github.com">
++    <meta name="js-proxy-site-detection-payload" content="ZWM0MmE3YzhkNzYxYTE2OTgwMDFkNzQxYTBmMDA4ZTJlY2FjZDI1MTEyZWNkMDA5MzQ5ZTgyOTI1OTQ4YjMwYnx7InJlbW90ZV9hZGRyZXNzIjoiMTkyLjU1LjU0LjQyIiwicmVxdWVzdF9pZCI6IkZBREU6MkY5QTA6RDE3RjQ3QzoxNTMwOEREQTo1OEFDRjc2RCIsInRpbWVzdGFtcCI6MTQ4NzczMDU0NCwiaG9zdCI6ImdpdGh1Yi5jb20ifQ==">
++
++    <meta name="accessibility-logger" value="1">
++
++  <meta name="html-safe-nonce" content="aaf0aad9cc6e1fe07d9b4b44e69a49b45cf9f570">
++
++  <meta http-equiv="x-pjax-version" content="7f36e6b92e8e0a18f0907c58ebdca77e">
++  
++
++    
++  <meta name="description" content="pig - Mirror of Apache Pig">
++  <meta name="go-import" content="github.com/apache/pig git https://github.com/apache/pig.git">
++
++  <meta content="47359" name="octolytics-dimension-user_id" /><meta content="apache" name="octolytics-dimension-user_login" /><meta content="206357" name="octolytics-dimension-repository_id" /><meta content="apache/pig" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="206357" name="octolytics-dimension-repository_network_root_id" /><meta content="apache/pig" name="octolytics-dimension-repository_network_root_nwo" />
++  <link href="https://github.com/apache/pig/commits/trunk.atom" rel="alternate" title="Recent Commits to pig:trunk" type="application/atom+xml">
++
++
++    <link rel="canonical" href="https://github.com/apache/pig/blob/trunk/ivy/ant-contrib-1.0b3.jar" data-pjax-transient>
++
++
++  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
++
++  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
++
++  <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">
++  <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">
++
++<meta name="theme-color" content="#1e2327">
++
++
++  <meta name="u2f-support" content="true">
++
++  </head>
++
++  <body class="logged-in env-production windows vis-public mirror  page-blob">
++    
++
++  <div class="position-relative js-header-wrapper ">
++    <a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a>
++    <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>
++
++    
++    
++    
++
++
++
++        <div class="header" role="banner">
++  <div class="container clearfix">
++
++    <a class="header-logo-invertocat" href="https://github.com/" data-hotkey="g d" aria-label="Homepage" data-ga-click="Header, go to dashboard, icon:logo">
++  <svg aria-hidden="true" class="octicon octicon-mark-github" height="32" version="1.1" viewBox="0 0 16 16" width="32"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
++</a>
++
++
++        <div class="header-search scoped-search site-scoped-search js-site-search" role="search">
++  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/apache/pig/search" class="js-site-search-form" data-scoped-search-url="/apache/pig/search" data-unscoped-search-url="/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
++    <label class="form-control header-search-wrapper js-chromeless-input-container">
++      <div class="header-search-scope">This repository</div>
++      <input type="text"
++        class="form-control header-search-input js-site-search-focus js-site-search-field is-clearable"
++        data-hotkey="s"
++        name="q"
++        placeholder="Search"
++        aria-label="Search this repository"
++        data-unscoped-placeholder="Search GitHub"
++        data-scoped-placeholder="Search"
++        autocapitalize="off">
++    </label>
++</form></div>
++
++
++      <ul class="header-nav float-left" role="navigation">
++        <li class="header-nav-item">
++          <a href="/pulls" aria-label="Pull requests you created" class="js-selected-navigation-item header-nav-link" data-ga-click="Header, click, Nav menu - item:pulls context:user" data-hotkey="g p" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls">
++            Pull requests
++</a>        </li>
++        <li class="header-nav-item">
++          <a href="/issues" aria-label="Issues you created" class="js-selected-navigation-item header-nav-link" data-ga-click="Header, click, Nav menu - item:issues context:user" data-hotkey="g i" data-selected-links="/issues /issues/assigned /issues/mentioned /issues">
++            Issues
++</a>        </li>
++          <li class="header-nav-item">
++            <a class="header-nav-link" href="https://gist.github.com/" data-ga-click="Header, go to gist, text:gist">Gist</a>
++          </li>
++      </ul>
++
++    
++<ul class="header-nav user-nav float-right" id="user-links">
++  <li class="header-nav-item">
++    
++    <a href="/notifications" aria-label="You have unread notifications" class="header-nav-link notification-indicator tooltipped tooltipped-s js-socket-channel js-notification-indicator" data-channel="tenant:1:notification-changed:4190711" data-ga-click="Header, go to notifications, icon:unread" data-hotkey="g n">
++        <span class="mail-status unread"></span>
++        <svg aria-hidden="true" class="octicon octicon-bell float-left" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 12v1H0v-1l.73-.58c.77-.77.81-2.55 1.19-4.42C2.69 3.23 6 2 6 2c0-.55.45-1 1-1s1 .45 1 1c0 0 3.39 1.23 4.16 5 .38 1.88.42 3.66 1.19 4.42l.66.58H14zm-7 4c1.11 0 2-.89 2-2H5c0 1.11.89 2 2 2z"/></svg>
++</a>
++  </li>
++
++  <li class="header-nav-item dropdown js-menu-container">
++    <a class="header-nav-link tooltipped tooltipped-s js-menu-target" href="/new"
++       aria-label="Create new…"
++       data-ga-click="Header, create new, icon:add">
++      <svg aria-hidden="true" class="octicon octicon-plus float-left" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 9H7v5H5V9H0V7h5V2h2v5h5z"/></svg>
++      <span class="dropdown-caret"></span>
++    </a>
++
++    <div class="dropdown-menu-content js-menu-content">
++      <ul class="dropdown-menu dropdown-menu-sw">
++        
++<a class="dropdown-item" href="/new" data-ga-click="Header, create new repository">
++  New repository
++</a>
++
++  <a class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository">
++    Import repository
++  </a>
++
++<a class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist">
++  New gist
++</a>
++
++  <a class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization">
++    New organization
++  </a>
++
++
++
++
++      </ul>
++    </div>
++  </li>
++
++  <li class="header-nav-item dropdown js-menu-container">
++    <a class="header-nav-link name tooltipped tooltipped-sw js-menu-target" href="/kellyzly"
++       aria-label="View profile and more"
++       data-ga-click="Header, show menu, icon:avatar">
++      <img alt="@kellyzly" class="avatar" height="20" src="https://avatars1.githubusercontent.com/u/4190711?v=3&amp;s=40" width="20" />
++      <span class="dropdown-caret"></span>
++    </a>
++
++    <div class="dropdown-menu-content js-menu-content">
++      <div class="dropdown-menu dropdown-menu-sw">
++        <div class="dropdown-header header-nav-current-user css-truncate">
++          Signed in as <strong class="css-truncate-target">kellyzly</strong>
++        </div>
++
++        <div class="dropdown-divider"></div>
++
++        <a class="dropdown-item" href="/kellyzly" data-ga-click="Header, go to profile, text:your profile">
++          Your profile
++        </a>
++        <a class="dropdown-item" href="/kellyzly?tab=stars" data-ga-click="Header, go to starred repos, text:your stars">
++          Your stars
++        </a>
++        <a class="dropdown-item" href="/explore" data-ga-click="Header, go to explore, text:explore">
++          Explore
++        </a>
++          <a class="dropdown-item" href="/integrations" data-ga-click="Header, go to integrations, text:integrations">
++            Integrations
++          </a>
++        <a class="dropdown-item" href="https://help.github.com" data-ga-click="Header, go to help, text:help">
++          Help
++        </a>
++
++        <div class="dropdown-divider"></div>
++
++        <a class="dropdown-item" href="/settings/profile" data-ga-click="Header, go to settings, icon:settings">
++          Settings
++        </a>
++
++        <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/logout" class="logout-form" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="D3Ef43sN6NqQrDmApRJD7RG3F+p1j7QOLtwPMJrldX5Ws5iJ9z6akg7uMEnGuIMo5c2iwoofck25eyN1YJypeA==" /></div>
++          <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout">
++            Sign out
++          </button>
++</form>      </div>
++    </div>
++  </li>
++</ul>
++
++    <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/logout" class="sr-only" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="gOSehya5Um2RH5UE9P2xE8Dkra0ytnMyp7ctMe9wkMzZJhntqoogJQ9dnM2XV3HWNJ4Yhc0mtXEwEAF0FQlMyg==" /></div>
++      <button type="submit" class="dropdown-item dropdown-signout" data-ga-click="Header, sign out, icon:logout">
++        Sign out
++      </button>
++</form>
++    
++  </div>
++</div>
++
++
++      
++
++  </div>
++
++  <div id="start-of-content" class="accessibility-aid"></div>
++
++    <div id="js-flash-container">
++</div>
++
++
++
++  <div role="main">
++      <div itemscope itemtype="http://schema.org/SoftwareSourceCode">
++    <div id="js-repo-pjax-container" data-pjax-container>
++      
++
++
++
++<div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav">
++  <div class="container repohead-details-container">
++
++    
++
++<ul class="pagehead-actions">
++
++  <li>
++        <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/notifications/subscribe" class="js-social-container" data-autosubmit="true" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="jAJw/V4Z9gM4HSCQaOXdzSwc0IwYOxLnGbXYNu4tSSpxGil7ew+/mwweL43QlFPt8so0eJcTJyo572pGPmH/6Q==" /></div>      <input class="form-control" id="repository_id" name="repository_id" type="hidden" value="206357" />
++
++        <div class="select-menu js-menu-container js-select-menu">
++          <a href="/apache/pig/subscription"
++            class="btn btn-sm btn-with-count select-menu-button js-menu-target" role="button" tabindex="0" aria-haspopup="true"
++            data-ga-click="Repository, click Watch settings, action:blob#show">
++            <span class="js-select-button">
++              <svg aria-hidden="true" class="octicon octicon-eye" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
++              Watch
++            </span>
++          </a>
++          <a class="social-count js-social-count"
++            href="/apache/pig/watchers"
++            aria-label="78 users are watching this repository">
++            78
++          </a>
++
++        <div class="select-menu-modal-holder">
++          <div class="select-menu-modal subscription-menu-modal js-menu-content" aria-hidden="true">
++            <div class="select-menu-header js-navigation-enable" tabindex="-1">
++              <svg aria-label="Close" class="octicon octicon-x js-menu-close" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
++              <span class="select-menu-title">Notifications</span>
++            </div>
++
++              <div class="select-menu-list js-navigation-container" role="menu">
++
++                <div class="select-menu-item js-navigation-item selected" role="menuitem" tabindex="0">
++                  <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++                  <div class="select-menu-item-text">
++                    <input checked="checked" id="do_included" name="do" type="radio" value="included" />
++                    <span class="select-menu-item-heading">Not watching</span>
++                    <span class="description">Be notified when participating or @mentioned.</span>
++                    <span class="js-select-button-text hidden-select-button-text">
++                      <svg aria-hidden="true" class="octicon octicon-eye" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
++                      Watch
++                    </span>
++                  </div>
++                </div>
++
++                <div class="select-menu-item js-navigation-item " role="menuitem" tabindex="0">
++                  <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++                  <div class="select-menu-item-text">
++                    <input id="do_subscribed" name="do" type="radio" value="subscribed" />
++                    <span class="select-menu-item-heading">Watching</span>
++                    <span class="description">Be notified of all conversations.</span>
++                    <span class="js-select-button-text hidden-select-button-text">
++                      <svg aria-hidden="true" class="octicon octicon-eye" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
++                      Unwatch
++                    </span>
++                  </div>
++                </div>
++
++                <div class="select-menu-item js-navigation-item " role="menuitem" tabindex="0">
++                  <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++                  <div class="select-menu-item-text">
++                    <input id="do_ignore" name="do" type="radio" value="ignore" />
++                    <span class="select-menu-item-heading">Ignoring</span>
++                    <span class="description">Never be notified.</span>
++                    <span class="js-select-button-text hidden-select-button-text">
++                      <svg aria-hidden="true" class="octicon octicon-mute" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8 2.81v10.38c0 .67-.81 1-1.28.53L3 10H1c-.55 0-1-.45-1-1V7c0-.55.45-1 1-1h2l3.72-3.72C7.19 1.81 8 2.14 8 2.81zm7.53 3.22l-1.06-1.06-1.97 1.97-1.97-1.97-1.06 1.06L11.44 8 9.47 9.97l1.06 1.06 1.97-1.97 1.97 1.97 1.06-1.06L13.56 8l1.97-1.97z"/></svg>
++                      Stop ignoring
++                    </span>
++                  </div>
++                </div>
++
++              </div>
++
++            </div>
++          </div>
++        </div>
++</form>
++  </li>
++
++  <li>
++      <div class="js-toggler-container js-social-container starring-container ">
++    <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/apache/pig/unstar" class="starred" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="UQ6TVYHvu9VjgXwi+Rwt551Fxoigcu1cSHRzVtlcpEnvzD0mQsbm6zhVlM083CKsH8K9WQ8N7iq61+xIKJu8Sg==" /></div>
++      <button
++        type="submit"
++        class="btn btn-sm btn-with-count js-toggler-target"
++        aria-label="Unstar this repository" title="Unstar apache/pig"
++        data-ga-click="Repository, click unstar button, action:blob#show; text:Unstar">
++        <svg aria-hidden="true" class="octicon octicon-star" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z"/></svg>
++        Unstar
++      </button>
++        <a class="social-count js-social-count" href="/apache/pig/stargazers"
++           aria-label="476 users starred this repository">
++          476
++        </a>
++</form>
++    <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/apache/pig/star" class="unstarred" data-remote="true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="KbeqhFTEgvVuCuxt2N3Zl/7yFDUZ7gsjbdZjGHYrGyEynMkT94Bj5Mj3XwZhZwXN8iHsx4RY0WxHb3EqiL2JuQ==" /></div>
++      <button
++        type="submit"
++        class="btn btn-sm btn-with-count js-toggler-target"
++        aria-label="Star this repository" title="Star apache/pig"
++        data-ga-click="Repository, click star button, action:blob#show; text:Star">
++        <svg aria-hidden="true" class="octicon octicon-star" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z"/></svg>
++        Star
++      </button>
++        <a class="social-count js-social-count" href="/apache/pig/stargazers"
++           aria-label="476 users starred this repository">
++          476
++        </a>
++</form>  </div>
++
++  </li>
++
++  <li>
++          <a href="#fork-destination-box" class="btn btn-sm btn-with-count"
++              title="Fork your own copy of apache/pig to your account"
++              aria-label="Fork your own copy of apache/pig to your account"
++              rel="facebox"
++              data-ga-click="Repository, show fork modal, action:blob#show; text:Fork">
++              <svg aria-hidden="true" class="octicon octicon-repo-forked" height="16" version="1.1" viewBox="0 0 10 16" width="10"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
++            Fork
++          </a>
++
++          <div id="fork-destination-box" style="display: none;">
++            <h2 class="facebox-header" data-facebox-id="facebox-header">Where should we fork this repository?</h2>
++            <include-fragment src=""
++                class="js-fork-select-fragment fork-select-fragment"
++                data-url="/apache/pig/fork?fragment=1">
++              <img alt="Loading" height="64" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-128.gif" width="64" />
++            </include-fragment>
++          </div>
++
++    <a href="/apache/pig/network" class="social-count"
++       aria-label="393 users forked this repository">
++      393
++    </a>
++  </li>
++</ul>
++
++    <h1 class="public repo-mirror">
++  <svg aria-hidden="true" class="octicon octicon-mirror" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M15.5 4.7L8.5 0l-7 4.7c-.3.19-.5.45-.5.8V16l7.5-4 7.5 4V5.5c0-.34-.2-.61-.5-.8zm-.5 9.8l-6-3.25V10H8v1.25L2 14.5v-9l6-4V6h1V1.5l6 4v9zM6 7h5V5l3 3-3 3V9H6v2L3 8l3-3v2z"/></svg>
++  <span class="author" itemprop="author"><a href="/apache" class="url fn" rel="author">apache</a></span><!--
++--><span class="path-divider">/</span><!--
++--><strong itemprop="name"><a href="/apache/pig" data-pjax="#js-repo-pjax-container">pig</a></strong>
++
++    <span class="mirror-flag">
++      <span class="text">mirrored from <a href="git://git.apache.org/pig.git">git://git.apache.org/pig.git</a></span>
++    </span>
++</h1>
++
++  </div>
++  <div class="container">
++    
++<nav class="reponav js-repo-nav js-sidenav-container-pjax"
++     itemscope
++     itemtype="http://schema.org/BreadcrumbList"
++     role="navigation"
++     data-pjax="#js-repo-pjax-container">
++
++  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
++    <a href="/apache/pig" class="js-selected-navigation-item selected reponav-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /apache/pig" itemprop="url">
++      <svg aria-hidden="true" class="octicon octicon-code" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg>
++      <span itemprop="name">Code</span>
++      <meta itemprop="position" content="1">
++</a>  </span>
++
++
++  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
++    <a href="/apache/pig/pulls" class="js-selected-navigation-item reponav-item" data-hotkey="g p" data-selected-links="repo_pulls /apache/pig/pulls" itemprop="url">
++      <svg aria-hidden="true" class="octicon octicon-git-pull-request" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
++      <span itemprop="name">Pull requests</span>
++      <span class="counter">21</span>
++      <meta itemprop="position" content="3">
++</a>  </span>
++
++  <a href="/apache/pig/projects" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /apache/pig/projects">
++    <svg aria-hidden="true" class="octicon octicon-project" height="16" version="1.1" viewBox="0 0 15 16" width="15"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
++    Projects
++    <span class="counter">0</span>
++</a>
++
++
++  <a href="/apache/pig/pulse" class="js-selected-navigation-item reponav-item" data-selected-links="pulse /apache/pig/pulse">
++    <svg aria-hidden="true" class="octicon octicon-pulse" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M11.5 8L8.8 5.4 6.6 8.5 5.5 1.6 2.38 8H0v2h3.6l.9-1.8.9 5.4L9 8.5l1.6 1.5H14V8z"/></svg>
++    Pulse
++</a>
++  <a href="/apache/pig/graphs" class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors /apache/pig/graphs">
++    <svg aria-hidden="true" class="octicon octicon-graph" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
++    Graphs
++</a>
++
++</nav>
++
++  </div>
++</div>
++
++<div class="container new-discussion-timeline experiment-repo-nav">
++  <div class="repository-content">
++
++    
++
++<a href="/apache/pig/blob/92df45dc5421e0e1aa33555f06eae46738bf6c30/ivy/ant-contrib-1.0b3.jar" class="d-none js-permalink-shortcut" data-hotkey="y">Permalink</a>
++
++<!-- blob contrib key: blob_contributors:v21:da9a5c39761b78f87eda5a7e243e93df -->
++
++<div class="file-navigation js-zeroclipboard-container">
++  
++<div class="select-menu branch-select-menu js-menu-container js-select-menu float-left">
++  <button class="btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
++    
++    type="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true">
++    <i>Branch:</i>
++    <span class="js-select-button css-truncate-target">trunk</span>
++  </button>
++
++  <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true">
++
++    <div class="select-menu-modal">
++      <div class="select-menu-header">
++        <svg aria-label="Close" class="octicon octicon-x js-menu-close" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
++        <span class="select-menu-title">Switch branches/tags</span>
++      </div>
++
++      <div class="select-menu-filters">
++        <div class="select-menu-text-filter">
++          <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="form-control js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
++        </div>
++        <div class="select-menu-tabs">
++          <ul>
++            <li class="select-menu-tab">
++              <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a>
++            </li>
++            <li class="select-menu-tab">
++              <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a>
++            </li>
++          </ul>
++        </div>
++      </div>
++
++      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">
++
++        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
++
++
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.1/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.1"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.2/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.2"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.2
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.3/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.3"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.3
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.4/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.4"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.4
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.5/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.5"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.5
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.6/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.6"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.6
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.7/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.7"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.7
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.8/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.8"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.8
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.9/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.9"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.9
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.10/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.10"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.10
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.11/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.11"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.11
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.12/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.12"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.12
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.13/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.13"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.13
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.14/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.14"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.14
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.15/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.15"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.15
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-0.16/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-0.16"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-0.16
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/branch-X.Y/ivy/ant-contrib-1.0b3.jar"
++               data-name="branch-X.Y"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                branch-X.Y
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/load-store-redesign/ivy/ant-contrib-1.0b3.jar"
++               data-name="load-store-redesign"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                load-store-redesign
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/maven/ivy/ant-contrib-1.0b3.jar"
++               data-name="maven"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                maven
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/multiquery/ivy/ant-contrib-1.0b3.jar"
++               data-name="multiquery"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                multiquery
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/plan/ivy/ant-contrib-1.0b3.jar"
++               data-name="plan"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                plan
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/pre-multiquery-phase2/ivy/ant-contrib-1.0b3.jar"
++               data-name="pre-multiquery-phase2"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                pre-multiquery-phase2
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/pretypes/ivy/ant-contrib-1.0b3.jar"
++               data-name="pretypes"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                pretypes
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/spark/ivy/ant-contrib-1.0b3.jar"
++               data-name="spark"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                spark
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++               href="/apache/pig/blob/tez/ivy/ant-contrib-1.0b3.jar"
++               data-name="tez"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                tez
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open selected"
++               href="/apache/pig/blob/trunk/ivy/ant-contrib-1.0b3.jar"
++               data-name="trunk"
++               data-skip-pjax="true"
++               rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
++                trunk
++              </span>
++            </a>
++        </div>
++
++          <div class="select-menu-no-results">Nothing to show</div>
++      </div>
++
++      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
++        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
++
++
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/types-stable-2/ivy/ant-contrib-1.0b3.jar"
++              data-name="types-stable-2"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="types-stable-2">
++                types-stable-2
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/types-stable-1/ivy/ant-contrib-1.0b3.jar"
++              data-name="types-stable-1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="types-stable-1">
++                types-stable-1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.16.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.16.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.16.0">
++                release-0.16.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.16.0-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.16.0-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.16.0-rc0">
++                release-0.16.0-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.15.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.15.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.15.0">
++                release-0.15.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.15.0-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.15.0-rc1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.15.0-rc1">
++                release-0.15.0-rc1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.15.0-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.15.0-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.15.0-rc0">
++                release-0.15.0-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.14.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.14.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.14.0">
++                release-0.14.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.14.0-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.14.0-rc1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.14.0-rc1">
++                release-0.14.0-rc1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.14.0-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.14.0-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.14.0-rc0">
++                release-0.14.0-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.13.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.13.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.13.0">
++                release-0.13.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.13.0-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.13.0-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.13.0-rc0">
++                release-0.13.0-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.12.1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.12.1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.12.1">
++                release-0.12.1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.12.1-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.12.1-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.12.1-rc0">
++                release-0.12.1-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.12.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.12.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.12.0">
++                release-0.12.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.12.0-rc2/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.12.0-rc2"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.12.0-rc2">
++                release-0.12.0-rc2
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.12.0-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.12.0-rc1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.12.0-rc1">
++                release-0.12.0-rc1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.12.0-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.12.0-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.12.0-rc0">
++                release-0.12.0-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.11.1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.11.1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.11.1">
++                release-0.11.1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.11.1-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.11.1-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.11.1-rc0">
++                release-0.11.1-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.11.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.11.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.11.0">
++                release-0.11.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.11.0-rc2/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.11.0-rc2"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.11.0-rc2">
++                release-0.11.0-rc2
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.11.0-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.11.0-rc1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.11.0-rc1">
++                release-0.11.0-rc1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.11.0-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.11.0-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.11.0-rc0">
++                release-0.11.0-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.10.1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.10.1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.10.1">
++                release-0.10.1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.10.1-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.10.1-rc1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.10.1-rc1">
++                release-0.10.1-rc1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.10.1-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.10.1-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.10.1-rc0">
++                release-0.10.1-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.10.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.10.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.10.0">
++                release-0.10.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.10.0.new/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.10.0.new"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.10.0.new">
++                release-0.10.0.new
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.10.0-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.10.0-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.10.0-rc0">
++                release-0.10.0-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.2/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.2"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.9.2">
++                release-0.9.2
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.2-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.2-rc1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.9.2-rc1">
++                release-0.9.2-rc1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.2-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.2-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.9.2-rc0">
++                release-0.9.2-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.9.1">
++                release-0.9.1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.1-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.1-rc1"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.9.1-rc1">
++                release-0.9.1-rc1
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.1-rc0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.1-rc0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.9.1-rc0">
++                release-0.9.1-rc0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.0/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.0"
++              data-skip-pjax="true"
++              rel="nofollow">
++              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
++              <span class="select-menu-item-text css-truncate-target" title="release-0.9.0">
++                release-0.9.0
++              </span>
++            </a>
++            <a class="select-menu-item js-navigation-item js-navigation-open "
++              href="/apache/pig/tree/release-0.9.0-rc1/ivy/ant-contrib-1.0b3.jar"
++              data-name="release-0.9.0-rc1"

[... 210936 lines stripped ...]