Try: % git format-patch --stdout HEAD^ > HIVE-1234.1.patch
That will generate a git format patch that should preserve the binary file. .. Owen On Fri, May 5, 2017 at 2:43 PM, Juan Rodríguez Hortalá < juan.rodriguez.hort...@gmail.com> wrote: > Hi, > > For HIVE-16539 I created a patch that adds a new ORC file, using `git diff > --no-prefix` as specified in > https://cwiki.apache.org/confluence/display/Hive/HowToContribute# > HowToContribute-CreatingaPatch. > The corresponding jenkins build > <http://104.198.109.242/logs/PreCommit-HIVE-Build-5048/ > failed/238_UTBatch_itests__hive-blobstore_2_tests/logs/hive.log> > is failing with > > 2017-05-05T10:00:30,151 ERROR [4dda13e3-e900-4d86-a654-bca8c14720cd > main] ql.Driver: FAILED: SemanticException Line 3:23 Invalid path > ''../../data/files/part.orc'': No files matching path > file:/home/hiveptest/35.188.114.194-hiveptest-1/apache- > github-source-source/data/files/part.orc > org.apache.hadoop.hive.ql.parse.SemanticException: Line 3:23 Invalid > path ''../../data/files/part.orc'': No files matching path > file:/home/hiveptest/35.188.114.194-hiveptest-1/apache- > github-source-source/data/files/part.orc > > > I think this is because the patch is not creating the ORC file > correctly when it is applied. When I apply the patch locally on an > updated clone of https://github.com/apache/hive.git in master, the > patches applies ok but the resulting file data/files/part.orc is > different from the original file I used to build the patch, and when I > try to load it into a table in a local hive instance I get "FAILED: > SemanticException Unable to load data to destination table. Error: The > file that you are trying to load does not match the file format of the > destination table". Similarly, `hive --service orcfiledump > data/files/part.orc` fails with "Exception in thread "main" > java.lang.IndexOutOfBoundsException". > > So it looks like the patch is malformed for the ORC file because it is > binary. Should I use bsdiff to build the patch instead? What is the > expected way for building patches involving binary files? > > > Thanks, > > > Juan >