via llvm-dev
2019-Feb-01 22:56 UTC
[llvm-dev] 'git llvm push' not working for me on Windows
The usual workaround is to do `rm –rf .git/llvm-upstream-svn` and try again. You could also patch llvm/utils/git-svn/git-llvm to add the `--verbose` option to the `git apply` command, which would provide better diagnostic output. HTH, --paulr From: Petr Hosek [mailto:phosek at chromium.org] Sent: Wednesday, January 30, 2019 10:52 PM To: Robinson, Paul Cc: James Y Knight; llvm-dev; vedant_kumar at apple.com Subject: Re: [llvm-dev] 'git llvm push' not working for me on Windows I just hit this failure as well. I've uploaded the log to https://reviews.llvm.org/P8126. The error message is: `git apply -p2 -` returned 1 error: patch failed: lib/Basic/Version.cpp:14 error: lib/Basic/Version.cpp: patch does not apply Patch doesn't apply: maybe you should try `git pull -r` first? On Thu, Nov 29, 2018 at 1:18 PM via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: Excellent, thanks! --paulr From: James Y Knight [mailto:jyknight at google.com<mailto:jyknight at google.com>] Sent: Thursday, November 29, 2018 12:00 PM To: Robinson, Paul Cc: Mikhail Ramalho; vedant_kumar at apple.com<mailto:vedant_kumar at apple.com>; llvm-dev Subject: Re: [llvm-dev] 'git llvm push' not working for me on Windows Aha! From your output I figured out what I screwed up. Sorry about the trouble... Illustration of the issue: svn checkout --depth=empty https://llvm.org/svn/llvm-project svn update --depth=immediates --parents llvm/trunk/test/DebugInfo svn update --depth=immediates --parents llvm/trunk/test/DebugInfo/Generic After these commands, I expected Generic/ to be populated, but it is not, because the "--depth=immediates" *creates* the directory, but then it marks it as depth=empty. And then, later, calling svn update --depth=immediates _doesn't override that_. This is apparently not a bug in subversion, that's is how it is "supposed" to work. It's just super confusing. If I use --depth=files instead of --depth=immediates, that fixes this issue, since in that case, it won't create the subdirs and mark them as depth=empty. Also, the --parents flag causes the same issue for parent directories. Ugh. After the following, I'd expected llvm/trunk/ to get populated, but it doesn't get populated, because the first 'svn update' created it with sticky depth=empty: svn checkout --depth=empty https://llvm.org/svn/llvm-project svn update --depth=files --parents llvm/trunk/test/DebugInfo svn update --depth=files --parents llvm/trunk/ Subversion has a --set-depth= argument which "fixes" this, but unfortunately, that argument *also* recursively deletes any subdirs which have already been populated. (I just want to _add_ things, not delete already-downloaded data.) In summary: subversion's sparse-checkout command-line UI is really confusing and annoying! Ugh! I've pushed a commit (r347883) to hopefully fix this issue. This time for sure. You will probably need to remove the .git/llvm-upstream-svn directory, one last time, for the fix to work. On Wed, Nov 28, 2018 at 3:55 PM <paul.robinson at sony.com<mailto:paul.robinson at sony.com>> wrote: Poking around in the .git\llvm-upstream-svn tree, I find that llvm\trunk\test\DebugInfo\Generic is empty, as are all the other subdirectories of test\DebugInfo that I tried. I have other files in the checkin that are in leaf directories but those files all exist. I hacked git-llvm to add a –verbose option: `git apply --verbose -p2 -` returned 1 Checking patch include/llvm/IR/DebugInfoFlags.def... Checking patch include/llvm/IR/DebugInfoMetadata.h... Checking patch lib/AsmParser/LLLexer.cpp... Checking patch lib/AsmParser/LLParser.cpp... Checking patch lib/AsmParser/LLToken.h... Checking patch lib/Bitcode/Reader/MetadataLoader.cpp... Checking patch lib/Bitcode/Writer/BitcodeWriter.cpp... Checking patch lib/IR/AsmWriter.cpp... Checking patch lib/IR/DebugInfoMetadata.cpp... Checking patch test/Assembler/disubprogram.ll... Checking patch test/Assembler/invalid-disubprogram-uniqued-definition.ll... Checking patch test/Bindings/llvm-c/debug_info.ll... Checking patch test/Bitcode/DISubprogram-distinct-definitions.ll... Checking patch test/Bitcode/DISubprogram-v4.ll... Checking patch test/Bitcode/DISubprogram-v4.ll.bc... Checking patch test/DebugInfo/Generic/invalid.ll... error: test/DebugInfo/Generic/invalid.ll: No such file or directory Checking patch test/DebugInfo/debugify.ll... Checking patch test/Linker/replaced-function-matches-first-subprogram.ll... Checking patch test/Transforms/GCOVProfiling/three-element-mdnode.ll... Patch doesn't apply: maybe you should try `git pull -r` first? From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org<mailto:llvm-dev-bounces at lists.llvm.org>] On Behalf Of via llvm-dev Sent: Wednesday, November 28, 2018 2:39 PM To: mikhail.ramalho at gmail.com<mailto:mikhail.ramalho at gmail.com>; jyknight at google.com<mailto:jyknight at google.com> Cc: llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>; vedant_kumar at apple.com<mailto:vedant_kumar at apple.com> Subject: Re: [llvm-dev] 'git llvm push' not working for me on Windows And now it's failing for me also… complaining about "no such file or directory" on a file that plainly exists. Verbose log attached. --paulr From: Mikhail Ramalho [mailto:mikhail.ramalho at gmail.com<mailto:mikhail.ramalho at gmail.com>] Sent: Wednesday, November 28, 2018 12:27 PM To: jyknight at google.com<mailto:jyknight at google.com> Cc: Robinson, Paul; llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>; vedant_kumar at apple.com<mailto:vedant_kumar at apple.com> Subject: Re: [llvm-dev] 'git llvm push' not working for me on Windows OK, I've managed to do it: I was trying to push it from a build/ directory, maybe that's why the git apply was failing. Pushing the commit from the root of the repo worked. Em qua, 28 de nov de 2018 às 16:40, Mikhail Ramalho <mikhail.ramalho at gmail.com<mailto:mikhail.ramalho at gmail.com>> escreveu: Hi, The patch only changes one file in clang. Here's the patch: https://reviews.llvm.org/D54974 Attached the log. It seems to complain about the git apply -p2. Maybe it's something related to arc? Em qua, 28 de nov de 2018 às 15:37, James Y Knight <jyknight at google.com<mailto:jyknight at google.com>> escreveu: Can you please run "git llvm --verbose push" and send me the output? BTW, I've just committed a fix for the handling of binary patch data when you're running it under python3.X. I don't believe that was a regression from my recent changes, but if you're using python3, you could see if that fixes it for you. On Tue, Nov 27, 2018 at 7:20 PM Mikhail Ramalho via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: I'm facing this now on Linux. Any idea how to fix it? Em seg, 26 de nov de 2018 às 20:22, via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> escreveu: I've verified that none of the files I tried to check in had Windows-style line endings. It's something else. --paulr From: vsk at apple.com<mailto:vsk at apple.com> [mailto:vsk at apple.com<mailto:vsk at apple.com>] On Behalf Of Vedant Kumar Sent: Thursday, November 22, 2018 9:38 AM To: Robinson, Paul Cc: zturner at google.com<mailto:zturner at google.com>; jyknight at google.com<mailto:jyknight at google.com>; llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] 'git llvm push' not working for me on Windows As a test case, try committing a change to clang/test/SemaCXX/sourceranges.cpp? I believe most editors force Windows-style line endings for that file (they show up in my vim as “^M”). I recently tried to commit a change to that file using “git llvm push” on macOS, but hit what I think is the same issue. At least, the error message was the same. vedant (sent from my iPhone) On Nov 21, 2018, at 10:06 AM, via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: FTR the commit where it failed for me had both llvm and clang changes. I wonder if that contributed. --paulr From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of via llvm-dev Sent: Monday, November 19, 2018 6:01 PM To: zturner at google.com<mailto:zturner at google.com>; jyknight at google.com<mailto:jyknight at google.com> Cc: llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] 'git llvm push' not working for me on Windows Hm. Just now it worked for me for r347271. If it happens again I'll try verbose mode and attach a log. Thanks, --paulr From: Zachary Turner [mailto:zturner at google.com] Sent: Monday, November 19, 2018 5:26 PM To: James Y Knight Cc: Robinson, Paul; llvm-dev Subject: Re: [llvm-dev] 'git llvm push' not working for me on Windows Usually every time I've seen that error message, it's been related to line ending normalization. But James is right, I did use it successfully this morning as well as yesterday. On Mon, Nov 19, 2018 at 1:03 PM James Y Knight via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: It does sound like I must've broken something, but I believe zturner used it on windows successfully. Perhaps you could help me debug the issue? Possibly running it with --verbose would show something useful. On Mon, Nov 19, 2018 at 1:32 PM <paul.robinson at sony.com<mailto:paul.robinson at sony.com>> wrote: I am consistently getting: `git apply -p2 -` returned 1 error: include/llvm/IR/DIBuilder.h: No such file or directory [[ etc ]] Patch doesn't apply; maybe you should try `git pull -r` first? My usual response to a problem from git-llvm (which is most often an anti-virus issue) is to blow away .git\llvm-upstream-svn but that doesn't help this time. I see James Knight did a "performance improvement" on Friday, perhaps that doesn't work so well on Windows? The main performance cost is one-time, and as long as my anti-virus isn't trashing things behind my back the performance is just fine; so it's not clear this is really a necessary improvement. If it's interfering with developing the new git repo, then I'd suggest making it optional or platform-dependent. As a workaround I fetched the previous version of git-llvm and put it earlier in my PATH, that worked. --paulr _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -- Mikhail Ramalho. _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -- Mikhail Ramalho. -- Mikhail Ramalho. _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190201/04db93a8/attachment.html>
Petr Hosek via llvm-dev
2019-Feb-02 02:37 UTC
[llvm-dev] 'git llvm push' not working for me on Windows
I already figured it out. Turned out some sources like clang/lib/Basic/Version.cpp contain Subversion keywords (in this particular case it's $URL$). Subversion would automatically substitute these in the internal checkout that's used by git-llvm-push, but Git wouldn't, so when trying to apply the patch generated by Git you'll get and error because while Git patch has $URL$, the Subversion checkout would have something like $URL: https://llvm.org/svn/llvm-project/cfe/trunk/$. The workaround I came up with is to do the keyword substitution in the generated patch ( https://github.com/llvm/llvm-project/blob/master/llvm/utils/git-svn/git-llvm#L321 ). On Fri, Feb 1, 2019 at 2:56 PM <paul.robinson at sony.com> wrote:> The usual workaround is to do `rm –rf .git/llvm-upstream-svn` and try > again. > > You could also patch llvm/utils/git-svn/git-llvm to add the `--verbose` > option to the `git apply` command, which would provide better diagnostic > output. > > HTH, > > --paulr > > > > *From:* Petr Hosek [mailto:phosek at chromium.org] > *Sent:* Wednesday, January 30, 2019 10:52 PM > *To:* Robinson, Paul > *Cc:* James Y Knight; llvm-dev; vedant_kumar at apple.com > *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on Windows > > > > I just hit this failure as well. I've uploaded the log to > https://reviews.llvm.org/P8126. The error message is: > > > > `git apply -p2 -` returned 1 > > error: patch failed: lib/Basic/Version.cpp:14 > > error: lib/Basic/Version.cpp: patch does not apply > > Patch doesn't apply: maybe you should try `git pull -r` first? > > > > On Thu, Nov 29, 2018 at 1:18 PM via llvm-dev <llvm-dev at lists.llvm.org> > wrote: > > Excellent, thanks! > > --paulr > > > > *From:* James Y Knight [mailto:jyknight at google.com] > *Sent:* Thursday, November 29, 2018 12:00 PM > *To:* Robinson, Paul > *Cc:* Mikhail Ramalho; vedant_kumar at apple.com; llvm-dev > *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on Windows > > > > Aha! From your output I figured out what I screwed up. Sorry about the > trouble... > > > > Illustration of the issue: > > svn checkout --depth=empty https://llvm.org/svn/llvm-project > > svn update --depth=immediates --parents llvm/trunk/test/DebugInfo > > svn update --depth=immediates --parents llvm/trunk/test/DebugInfo/Generic > > > > After these commands, I expected Generic/ to be populated, but it is not, > because the "--depth=immediates" *creates* the directory, but then it marks > it as depth=empty. And then, later, calling svn update --depth=immediates > _doesn't override that_. This is apparently not a bug in subversion, that's > is how it is "supposed" to work. It's just super confusing. If I use > --depth=files instead of --depth=immediates, that fixes this issue, since > in that case, it won't create the subdirs and mark them as depth=empty. > > > > Also, the --parents flag causes the same issue for parent directories. > Ugh. After the following, I'd expected llvm/trunk/ to get populated, but it > doesn't get populated, because the first 'svn update' created it with > sticky depth=empty: > > svn checkout --depth=empty https://llvm.org/svn/llvm-project > > svn update --depth=files --parents llvm/trunk/test/DebugInfo > > svn update --depth=files --parents llvm/trunk/ > > > > Subversion has a --set-depth= argument which "fixes" this, but > unfortunately, that argument *also* recursively deletes any subdirs which > have already been populated. (I just want to _add_ things, not delete > already-downloaded data.) > > > > In summary: subversion's sparse-checkout command-line UI is really > confusing and annoying! Ugh! > > > > I've pushed a commit (r347883) to hopefully fix this issue. This time for > sure. > > > > You will probably need to remove the .git/llvm-upstream-svn directory, one > last time, for the fix to work. > > > > On Wed, Nov 28, 2018 at 3:55 PM <paul.robinson at sony.com> wrote: > > Poking around in the .git\llvm-upstream-svn tree, I find that > llvm\trunk\test\DebugInfo\Generic is empty, as are all the other > subdirectories of test\DebugInfo that I tried. I have other files in the > checkin that are in leaf directories but those files all exist. > > I hacked git-llvm to add a –verbose option: > > > > `git apply --verbose -p2 -` returned 1 > > Checking patch include/llvm/IR/DebugInfoFlags.def... > > Checking patch include/llvm/IR/DebugInfoMetadata.h... > > Checking patch lib/AsmParser/LLLexer.cpp... > > Checking patch lib/AsmParser/LLParser.cpp... > > Checking patch lib/AsmParser/LLToken.h... > > Checking patch lib/Bitcode/Reader/MetadataLoader.cpp... > > Checking patch lib/Bitcode/Writer/BitcodeWriter.cpp... > > Checking patch lib/IR/AsmWriter.cpp... > > Checking patch lib/IR/DebugInfoMetadata.cpp... > > Checking patch test/Assembler/disubprogram.ll... > > Checking patch test/Assembler/invalid-disubprogram-uniqued-definition.ll... > > Checking patch test/Bindings/llvm-c/debug_info.ll... > > Checking patch test/Bitcode/DISubprogram-distinct-definitions.ll... > > Checking patch test/Bitcode/DISubprogram-v4.ll... > > Checking patch test/Bitcode/DISubprogram-v4.ll.bc... > > Checking patch test/DebugInfo/Generic/invalid.ll... > > error: test/DebugInfo/Generic/invalid.ll: No such file or directory > > Checking patch test/DebugInfo/debugify.ll... > > Checking patch test/Linker/replaced-function-matches-first-subprogram.ll... > > Checking patch test/Transforms/GCOVProfiling/three-element-mdnode.ll... > > Patch doesn't apply: maybe you should try `git pull -r` first? > > > > > > *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf Of *via > llvm-dev > *Sent:* Wednesday, November 28, 2018 2:39 PM > *To:* mikhail.ramalho at gmail.com; jyknight at google.com > *Cc:* llvm-dev at lists.llvm.org; vedant_kumar at apple.com > *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on Windows > > > > And now it's failing for me also… complaining about "no such file or > directory" on a file that plainly exists. > > Verbose log attached. > > --paulr > > > > *From:* Mikhail Ramalho [mailto:mikhail.ramalho at gmail.com] > *Sent:* Wednesday, November 28, 2018 12:27 PM > *To:* jyknight at google.com > *Cc:* Robinson, Paul; llvm-dev at lists.llvm.org; vedant_kumar at apple.com > *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on Windows > > > > OK, I've managed to do it: > > > > I was trying to push it from a build/ directory, maybe that's why the git > apply was failing. > > > > Pushing the commit from the root of the repo worked. > > > > Em qua, 28 de nov de 2018 às 16:40, Mikhail Ramalho < > mikhail.ramalho at gmail.com> escreveu: > > Hi, > > > > The patch only changes one file in clang. Here's the patch: > https://reviews.llvm.org/D54974 > > > > Attached the log. It seems to complain about the git apply -p2. > > > > Maybe it's something related to arc? > > > > Em qua, 28 de nov de 2018 às 15:37, James Y Knight <jyknight at google.com> > escreveu: > > Can you please run "git llvm --verbose push" and send me the output? > > > > BTW, I've just committed a fix for the handling of binary patch data when > you're running it under python3.X. I don't believe that was a regression > from my recent changes, but if you're using python3, you could see if that > fixes it for you. > > > > On Tue, Nov 27, 2018 at 7:20 PM Mikhail Ramalho via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > I'm facing this now on Linux. > > > > Any idea how to fix it? > > > > Em seg, 26 de nov de 2018 às 20:22, via llvm-dev <llvm-dev at lists.llvm.org> > escreveu: > > I've verified that none of the files I tried to check in had Windows-style > line endings. It's something else. > > --paulr > > > > *From:* vsk at apple.com [mailto:vsk at apple.com] *On Behalf Of *Vedant Kumar > *Sent:* Thursday, November 22, 2018 9:38 AM > *To:* Robinson, Paul > *Cc:* zturner at google.com; jyknight at google.com; llvm-dev at lists.llvm.org > *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on Windows > > > > As a test case, try committing a change to > clang/test/SemaCXX/sourceranges.cpp? > > > > I believe most editors force Windows-style line endings for that file > (they show up in my vim as “^M”). I recently tried to commit a change to > that file using “git llvm push” on macOS, but hit what I think is the same > issue. At least, the error message was the same. > > vedant (sent from my iPhone) > > > On Nov 21, 2018, at 10:06 AM, via llvm-dev <llvm-dev at lists.llvm.org> > wrote: > > FTR the commit where it failed for me had both llvm and clang changes. I > wonder if that contributed. > > --paulr > > > > *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org > <llvm-dev-bounces at lists.llvm.org>] *On Behalf Of *via llvm-dev > *Sent:* Monday, November 19, 2018 6:01 PM > *To:* zturner at google.com; jyknight at google.com > *Cc:* llvm-dev at lists.llvm.org > *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on Windows > > > > Hm. Just now it worked for me for r347271. If it happens again I'll try > verbose mode and attach a log. > > Thanks, > > --paulr > > > > *From:* Zachary Turner [mailto:zturner at google.com <zturner at google.com>] > *Sent:* Monday, November 19, 2018 5:26 PM > *To:* James Y Knight > *Cc:* Robinson, Paul; llvm-dev > *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on Windows > > > > Usually every time I've seen that error message, it's been related to line > ending normalization. But James is right, I did use it successfully this > morning as well as yesterday. > > > > On Mon, Nov 19, 2018 at 1:03 PM James Y Knight via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > It does sound like I must've broken something, but I believe zturner used > it on windows successfully. Perhaps you could help me debug the issue? > Possibly running it with --verbose would show something useful. > > > > On Mon, Nov 19, 2018 at 1:32 PM <paul.robinson at sony.com> wrote: > > I am consistently getting: > > `git apply -p2 -` returned 1 > error: include/llvm/IR/DIBuilder.h: No such file or directory > [[ etc ]] > Patch doesn't apply; maybe you should try `git pull -r` first? > > My usual response to a problem from git-llvm (which is most often > an anti-virus issue) is to blow away .git\llvm-upstream-svn but > that doesn't help this time. > > I see James Knight did a "performance improvement" on Friday, > perhaps that doesn't work so well on Windows? The main > performance cost is one-time, and as long as my anti-virus isn't > trashing things behind my back the performance is just fine; > so it's not clear this is really a necessary improvement. > If it's interfering with developing the new git repo, then I'd > suggest making it optional or platform-dependent. > > As a workaround I fetched the previous version of git-llvm > and put it earlier in my PATH, that worked. > > --paulr > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > > > -- > > > > Mikhail Ramalho. > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > > > -- > > > > Mikhail Ramalho. > > > > > -- > > > > Mikhail Ramalho. > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190201/ad1639b6/attachment.html>
James Y Knight via llvm-dev
2019-Feb-02 14:16 UTC
[llvm-dev] 'git llvm push' not working for me on Windows
Hm, there's only a few affected files (files that both have svn:keywords
set, and contain a $keyword$).
We'll need to remove or replace all of these anyhow, since the expansion
doesn't actually function with a git checkout.
clang/lib/Basic/Version.cpp: StringRef SVNRepository("$URL$");
clang/tools/scan-build/man/scan-build.1:.\" $Id$
clang/www/cxx_dr_status.html:<p>Last updated: $Date$</p>
clang/www/cxx_status.html:<p>Last updated: $Date$</p>
llvm/utils/vim/syntax/llvm.vim:" Version: $Revision$
llvm/utils/vim/syntax/tablegen.vim:" Version: $Revision$
llvm/utils/vim/vimrc:" $Revision$
On Fri, Feb 1, 2019 at 9:37 PM Petr Hosek <phosek at chromium.org> wrote:
> I already figured it out. Turned out some sources
> like clang/lib/Basic/Version.cpp contain Subversion keywords (in this
> particular case it's $URL$). Subversion would automatically substitute
> these in the internal checkout that's used by git-llvm-push, but Git
> wouldn't, so when trying to apply the patch generated by Git you'll
get and
> error because while Git patch has $URL$, the Subversion checkout would have
> something like $URL: https://llvm.org/svn/llvm-project/cfe/trunk/$. The
> workaround I came up with is to do the keyword substitution in the
> generated patch (
>
https://github.com/llvm/llvm-project/blob/master/llvm/utils/git-svn/git-llvm#L321
> ).
>
> On Fri, Feb 1, 2019 at 2:56 PM <paul.robinson at sony.com> wrote:
>
>> The usual workaround is to do `rm –rf .git/llvm-upstream-svn` and try
>> again.
>>
>> You could also patch llvm/utils/git-svn/git-llvm to add the `--verbose`
>> option to the `git apply` command, which would provide better
diagnostic
>> output.
>>
>> HTH,
>>
>> --paulr
>>
>>
>>
>> *From:* Petr Hosek [mailto:phosek at chromium.org]
>> *Sent:* Wednesday, January 30, 2019 10:52 PM
>> *To:* Robinson, Paul
>> *Cc:* James Y Knight; llvm-dev; vedant_kumar at apple.com
>> *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on
Windows
>>
>>
>>
>> I just hit this failure as well. I've uploaded the log to
>> https://reviews.llvm.org/P8126. The error message is:
>>
>>
>>
>> `git apply -p2 -` returned 1
>>
>> error: patch failed: lib/Basic/Version.cpp:14
>>
>> error: lib/Basic/Version.cpp: patch does not apply
>>
>> Patch doesn't apply: maybe you should try `git pull -r` first?
>>
>>
>>
>> On Thu, Nov 29, 2018 at 1:18 PM via llvm-dev <llvm-dev at
lists.llvm.org>
>> wrote:
>>
>> Excellent, thanks!
>>
>> --paulr
>>
>>
>>
>> *From:* James Y Knight [mailto:jyknight at google.com]
>> *Sent:* Thursday, November 29, 2018 12:00 PM
>> *To:* Robinson, Paul
>> *Cc:* Mikhail Ramalho; vedant_kumar at apple.com; llvm-dev
>> *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on
Windows
>>
>>
>>
>> Aha! From your output I figured out what I screwed up. Sorry about the
>> trouble...
>>
>>
>>
>> Illustration of the issue:
>>
>> svn checkout --depth=empty https://llvm.org/svn/llvm-project
>>
>> svn update --depth=immediates --parents llvm/trunk/test/DebugInfo
>>
>> svn update --depth=immediates --parents
llvm/trunk/test/DebugInfo/Generic
>>
>>
>>
>> After these commands, I expected Generic/ to be populated, but it is
not,
>> because the "--depth=immediates" *creates* the directory, but
then it marks
>> it as depth=empty. And then, later, calling svn update
--depth=immediates
>> _doesn't override that_. This is apparently not a bug in
subversion, that's
>> is how it is "supposed" to work. It's just super
confusing. If I use
>> --depth=files instead of --depth=immediates, that fixes this issue,
since
>> in that case, it won't create the subdirs and mark them as
depth=empty.
>>
>>
>>
>> Also, the --parents flag causes the same issue for parent directories.
>> Ugh. After the following, I'd expected llvm/trunk/ to get
populated, but it
>> doesn't get populated, because the first 'svn update'
created it with
>> sticky depth=empty:
>>
>> svn checkout --depth=empty https://llvm.org/svn/llvm-project
>>
>> svn update --depth=files --parents llvm/trunk/test/DebugInfo
>>
>> svn update --depth=files --parents llvm/trunk/
>>
>>
>>
>> Subversion has a --set-depth= argument which "fixes" this,
but
>> unfortunately, that argument *also* recursively deletes any subdirs
which
>> have already been populated. (I just want to _add_ things, not delete
>> already-downloaded data.)
>>
>>
>>
>> In summary: subversion's sparse-checkout command-line UI is really
>> confusing and annoying! Ugh!
>>
>>
>>
>> I've pushed a commit (r347883) to hopefully fix this issue. This
time for
>> sure.
>>
>>
>>
>> You will probably need to remove the .git/llvm-upstream-svn directory,
>> one last time, for the fix to work.
>>
>>
>>
>> On Wed, Nov 28, 2018 at 3:55 PM <paul.robinson at sony.com>
wrote:
>>
>> Poking around in the .git\llvm-upstream-svn tree, I find that
>> llvm\trunk\test\DebugInfo\Generic is empty, as are all the other
>> subdirectories of test\DebugInfo that I tried. I have other files in
the
>> checkin that are in leaf directories but those files all exist.
>>
>> I hacked git-llvm to add a –verbose option:
>>
>>
>>
>> `git apply --verbose -p2 -` returned 1
>>
>> Checking patch include/llvm/IR/DebugInfoFlags.def...
>>
>> Checking patch include/llvm/IR/DebugInfoMetadata.h...
>>
>> Checking patch lib/AsmParser/LLLexer.cpp...
>>
>> Checking patch lib/AsmParser/LLParser.cpp...
>>
>> Checking patch lib/AsmParser/LLToken.h...
>>
>> Checking patch lib/Bitcode/Reader/MetadataLoader.cpp...
>>
>> Checking patch lib/Bitcode/Writer/BitcodeWriter.cpp...
>>
>> Checking patch lib/IR/AsmWriter.cpp...
>>
>> Checking patch lib/IR/DebugInfoMetadata.cpp...
>>
>> Checking patch test/Assembler/disubprogram.ll...
>>
>> Checking patch
>> test/Assembler/invalid-disubprogram-uniqued-definition.ll...
>>
>> Checking patch test/Bindings/llvm-c/debug_info.ll...
>>
>> Checking patch test/Bitcode/DISubprogram-distinct-definitions.ll...
>>
>> Checking patch test/Bitcode/DISubprogram-v4.ll...
>>
>> Checking patch test/Bitcode/DISubprogram-v4.ll.bc...
>>
>> Checking patch test/DebugInfo/Generic/invalid.ll...
>>
>> error: test/DebugInfo/Generic/invalid.ll: No such file or directory
>>
>> Checking patch test/DebugInfo/debugify.ll...
>>
>> Checking patch
>> test/Linker/replaced-function-matches-first-subprogram.ll...
>>
>> Checking patch test/Transforms/GCOVProfiling/three-element-mdnode.ll...
>>
>> Patch doesn't apply: maybe you should try `git pull -r` first?
>>
>>
>>
>>
>>
>> *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf
Of *via
>> llvm-dev
>> *Sent:* Wednesday, November 28, 2018 2:39 PM
>> *To:* mikhail.ramalho at gmail.com; jyknight at google.com
>> *Cc:* llvm-dev at lists.llvm.org; vedant_kumar at apple.com
>> *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on
Windows
>>
>>
>>
>> And now it's failing for me also… complaining about "no such
file or
>> directory" on a file that plainly exists.
>>
>> Verbose log attached.
>>
>> --paulr
>>
>>
>>
>> *From:* Mikhail Ramalho [mailto:mikhail.ramalho at gmail.com]
>> *Sent:* Wednesday, November 28, 2018 12:27 PM
>> *To:* jyknight at google.com
>> *Cc:* Robinson, Paul; llvm-dev at lists.llvm.org; vedant_kumar at
apple.com
>> *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on
Windows
>>
>>
>>
>> OK, I've managed to do it:
>>
>>
>>
>> I was trying to push it from a build/ directory, maybe that's why
the git
>> apply was failing.
>>
>>
>>
>> Pushing the commit from the root of the repo worked.
>>
>>
>>
>> Em qua, 28 de nov de 2018 às 16:40, Mikhail Ramalho <
>> mikhail.ramalho at gmail.com> escreveu:
>>
>> Hi,
>>
>>
>>
>> The patch only changes one file in clang. Here's the patch:
>> https://reviews.llvm.org/D54974
>>
>>
>>
>> Attached the log. It seems to complain about the git apply -p2.
>>
>>
>>
>> Maybe it's something related to arc?
>>
>>
>>
>> Em qua, 28 de nov de 2018 às 15:37, James Y Knight <jyknight at
google.com>
>> escreveu:
>>
>> Can you please run "git llvm --verbose push" and send me the
output?
>>
>>
>>
>> BTW, I've just committed a fix for the handling of binary patch
data when
>> you're running it under python3.X. I don't believe that was a
regression
>> from my recent changes, but if you're using python3, you could see
if that
>> fixes it for you.
>>
>>
>>
>> On Tue, Nov 27, 2018 at 7:20 PM Mikhail Ramalho via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>> I'm facing this now on Linux.
>>
>>
>>
>> Any idea how to fix it?
>>
>>
>>
>> Em seg, 26 de nov de 2018 às 20:22, via llvm-dev <llvm-dev at
lists.llvm.org>
>> escreveu:
>>
>> I've verified that none of the files I tried to check in had
>> Windows-style line endings. It's something else.
>>
>> --paulr
>>
>>
>>
>> *From:* vsk at apple.com [mailto:vsk at apple.com] *On Behalf Of
*Vedant Kumar
>> *Sent:* Thursday, November 22, 2018 9:38 AM
>> *To:* Robinson, Paul
>> *Cc:* zturner at google.com; jyknight at google.com; llvm-dev at
lists.llvm.org
>> *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on
Windows
>>
>>
>>
>> As a test case, try committing a change to
>> clang/test/SemaCXX/sourceranges.cpp?
>>
>>
>>
>> I believe most editors force Windows-style line endings for that file
>> (they show up in my vim as “^M”). I recently tried to commit a change
to
>> that file using “git llvm push” on macOS, but hit what I think is the
same
>> issue. At least, the error message was the same.
>>
>> vedant (sent from my iPhone)
>>
>>
>> On Nov 21, 2018, at 10:06 AM, via llvm-dev <llvm-dev at
lists.llvm.org>
>> wrote:
>>
>> FTR the commit where it failed for me had both llvm and clang changes.
I
>> wonder if that contributed.
>>
>> --paulr
>>
>>
>>
>> *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org
>> <llvm-dev-bounces at lists.llvm.org>] *On Behalf Of *via llvm-dev
>> *Sent:* Monday, November 19, 2018 6:01 PM
>> *To:* zturner at google.com; jyknight at google.com
>> *Cc:* llvm-dev at lists.llvm.org
>> *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on
Windows
>>
>>
>>
>> Hm. Just now it worked for me for r347271. If it happens again
I'll try
>> verbose mode and attach a log.
>>
>> Thanks,
>>
>> --paulr
>>
>>
>>
>> *From:* Zachary Turner [mailto:zturner at google.com <zturner at
google.com>]
>> *Sent:* Monday, November 19, 2018 5:26 PM
>> *To:* James Y Knight
>> *Cc:* Robinson, Paul; llvm-dev
>> *Subject:* Re: [llvm-dev] 'git llvm push' not working for me on
Windows
>>
>>
>>
>> Usually every time I've seen that error message, it's been
related to
>> line ending normalization. But James is right, I did use it
successfully
>> this morning as well as yesterday.
>>
>>
>>
>> On Mon, Nov 19, 2018 at 1:03 PM James Y Knight via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>> It does sound like I must've broken something, but I believe
zturner used
>> it on windows successfully. Perhaps you could help me debug the issue?
>> Possibly running it with --verbose would show something useful.
>>
>>
>>
>> On Mon, Nov 19, 2018 at 1:32 PM <paul.robinson at sony.com>
wrote:
>>
>> I am consistently getting:
>>
>> `git apply -p2 -` returned 1
>> error: include/llvm/IR/DIBuilder.h: No such file or directory
>> [[ etc ]]
>> Patch doesn't apply; maybe you should try `git pull -r` first?
>>
>> My usual response to a problem from git-llvm (which is most often
>> an anti-virus issue) is to blow away .git\llvm-upstream-svn but
>> that doesn't help this time.
>>
>> I see James Knight did a "performance improvement" on Friday,
>> perhaps that doesn't work so well on Windows? The main
>> performance cost is one-time, and as long as my anti-virus isn't
>> trashing things behind my back the performance is just fine;
>> so it's not clear this is really a necessary improvement.
>> If it's interfering with developing the new git repo, then I'd
>> suggest making it optional or platform-dependent.
>>
>> As a workaround I fetched the previous version of git-llvm
>> and put it earlier in my PATH, that worked.
>>
>> --paulr
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>>
>>
>> --
>>
>>
>>
>> Mikhail Ramalho.
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>>
>>
>> --
>>
>>
>>
>> Mikhail Ramalho.
>>
>>
>>
>>
>> --
>>
>>
>>
>> Mikhail Ramalho.
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20190202/d6b6f931/attachment.html>