[ 
https://issues.apache.org/jira/browse/SCM-772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17962936#comment-17962936
 ] 

ASF GitHub Bot commented on SCM-772:
------------------------------------

jira-importer commented on issue #979:
URL: https://github.com/apache/maven-scm/issues/979#issuecomment-2964637093

   **[Gary L 
Peskin](https://issues.apache.org/jira/secure/[email protected])**
 commented
   
   I've attached a proposed patch file.  In getting further into this issue, I 
decided against using the "`-z`" option because it does not have each file on a 
separate line and switching to using it would cause too big of a change in the 
flow that drives the `GitStatusConsumer.consumeLine` method which is oriented 
towards a _line_ of output.
   
   Instead, I detect when the "`--porcelain`" output is surrounded by quotation 
marks and I dequote it in a manner consistent with the way that Git quoted it.
   
   The other main change was to get away from treating the file name as a URI 
since it is not a URI.  A filename can contain characters that are not allowed 
in a URI and trying to treat a filename as a relative URI is not a good fit.
   
   Please review this and let me know what you think and if additional 
revisions are required.
   
   Thanks.
   




> GitStatusConsumer does not properly handle quoted paths output from 
> GitStatusCommand
> ------------------------------------------------------------------------------------
>
>                 Key: SCM-772
>                 URL: https://issues.apache.org/jira/browse/SCM-772
>             Project: Maven SCM (Moved to GitHub Issues)
>          Issue Type: Bug
>          Components: maven-scm-provider-gitexe
>    Affects Versions: 1.9, 1.9.1
>         Environment: All
>            Reporter: Gary L Peskin
>            Assignee: Robert Scholte
>            Priority: Major
>             Fix For: 1.9.5
>
>         Attachments: maven-scm.patch
>
>
> We have several files in our repository with spaces in the file name.  Even 
> with --porcelain specified, the filename appears with quotes around it.  Here 
> is an example:
> {noformat}
>  M src/main/webapp/admin-index.html
>  M src/main/webapp/adminhelp/en_US/css/AboutThisBook.css
>  M "src/main/webapp/adminhelp/en_US/css/Appendix A Role Manager Defs.css"
> {noformat}
> This messes up the regular expression parsing in GitStatusConsumer.
> A better approach would be to modify GitStatusCommand to specify the 
> {{"\-z"}} option instead of the {{"--porcelain"}} option.  This option is 
> specifically designed to generate machine parseable output from the git 
> status command.  This would necessitate changes to GitStatusConsumer but 
> would allow the elimination of all of the regex parsing in GitStatusConsumer 
> making for a more reliable solution.
> If you'd like, please let me know and I can work up a patch for the changes 
> to these two classes and send it on.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to