[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Scholte closed SCM-709. -- Resolution: Fixed Fix Version/s: 1.9 Let's close this issue, so I can also close the depending issue of the maven-release-plugin for the next release. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Fix For: 1.9 > > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=335225#comment-335225 ] Robert Scholte commented on SCM-709: IIRC this issue should already be partly solved, at least for the git status part. However, nobody has tested the current snapshot and came with good feedback. As long as nobody has confirmed that it is fixed, I need to keep this issue open. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=335206#comment-335206 ] Ernst de Haan commented on SCM-709: --- Note that I incentified this issue via Donay on Sept 30, 2013. If anyone would like to claim it, let me know, otherwise I might reallocate it to a different issue. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=333413#comment-333413 ] Ernst de Haan edited comment on SCM-709 at 9/30/13 3:48 AM: Reproduction steps for my issue: # Have a small Maven project: #- root folder is project A, containing modules B and C #- subfolder B contains module B #- subfolder C contains module C #- module C has module B as parent # Module A defines a Git repository in an {{}} tag # Go into module C's subdirectory # Execute {{mvn release:prepare release:perform}} Expected: - Tag is created on repository _R_ defined in the {{}} tag in module A Actual: - Tagging fails, because the release plugin attempts to create a tag on _R_/_C_ (where _R_ is the repository defined in the {{}} tag in module A and _C_ is the name of module C) Workaround: - Copy the {{}} tag from module A's POM to module C's POM was (Author: znerd): Reproduction steps for my issue: # Have a small Maven project: #- root folder is project A, containing modules B and C #- subfolder B contains module B #- subfolder C contains module C #- module C has module B as parent # Module A defines a Git repository in an {{}} tag # Go into module C's subdirectory # Execute {{mvn release:prepare release:perform} Expected: - Tag is created on repository _R_ defined in the {{}} tag in module A Actual: - Tagging fails, because the release plugin attempts to create a tag on _R_/_C_ (where _R_ is the repository defined in the {{}} tag in module A and _C_ is the name of module C) Workaround: - Copy the {{}} tag from module A's POM to module C's POM > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=333413#comment-333413 ] Ernst de Haan commented on SCM-709: --- Reproduction steps for my issue: # Have a small Maven project: #- root folder is project A, containing modules B and C #- subfolder B contains module B #- subfolder C contains module C #- module C has module B as parent # Module A defines a Git repository in an {{}} tag # Go into module C's subdirectory # Execute {{mvn release:prepare release:perform} Expected: - Tag is created on repository _R_ defined in the {{}} tag in module A Actual: - Tagging fails, because the release plugin attempts to create a tag on _R_/_C_ (where _R_ is the repository defined in the {{}} tag in module A and _C_ is the name of module C) Workaround: - Copy the {{}} tag from module A's POM to module C's POM > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=325429#comment-325429 ] Robert Scholte commented on SCM-709: There are indeed more places where this needs to be fixed. I'll try to refactor the code a bit, so this logic can stay at one place. I've just checked out the project in a folder with spaces and that causes several tests to fail, so I need to make those tests space-safe too. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=325425#comment-325425 ] Michael Koch commented on SCM-709: -- Thanks for taking the time to look at this. I think that even with your fix there is still a problem where the {{Git*Command}} classes calculate the {{relativeRepositoryPath}} if the repository root path (i. e. the output of {{git rev-parse --show-toplevel}}) contains spaces. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=325396#comment-325396 ] Robert Scholte commented on SCM-709: Spaces-issue fixed in [aff6ce41|https://git-wip-us.apache.org/repos/asf/maven-scm/commit/aff6ce41] > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=325393#comment-325393 ] Robert Scholte commented on SCM-709: Spaces issue confirmed, I'll have a look at it > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=325248#comment-325248 ] Michael Koch commented on SCM-709: -- I just found out that {{URI.create}} generally does not work as intended because it does not create a {{file:}} URL. Therefore {{URI.create( stdout.getOutput().trim() ).relativize( fileSet.getBasedir().toURI() )}} does not create a relative URL and the {{git status}} command fails. You can test this if in {{GitStatusCommandTest.testResolvePath()}} you change {{URI path = repositoryRoot.toURI().relativize( workingDirectory.toURI() );}} to {{URI path = URI.create(repositoryRoot.getAbsolutePath()).relativize(workingDirectory.toURI());}}. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Koch updated SCM-709: - Attachment: 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch The current 1.9-SNAPSHOT fails in {{GitStatusCommand.executeStatusCommand}} line 68 if there are spaces in the directory path. {noformat} [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.1:prepare (default-cli) on project codequality: An error occurred during the status check process: Exception while executing SCM command. Illegal character in path at index 29: /home/michael/Projekte/JGloss Test -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.1:prepare (default-cli) on project codequality: An error occurred during the status check process: Exception while executing SCM command. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) [snip] Caused by: java.lang.IllegalArgumentException: Illegal character in path at index 29: /home/michael/Projekte/JGloss Test at java.net.URI.create(URI.java:859) at org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusCommand.executeStatusCommand(GitStatusCommand.java:68) at org.apache.maven.scm.command.status.AbstractStatusCommand.executeCommand(AbstractStatusCommand.java:44) at org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:59) ... 31 more Caused by: java.net.URISyntaxException: Illegal character in path at index 29: /home/michael/Projekte/JGloss Test at java.net.URI$Parser.fail(URI.java:2829) {noformat} This is because {{URI.create}} does not handle spaces. Using {{new File(path).toURI()}} instead fixes this bug. The {{GitAddCommand}} and {{GitCheckInCommand}} should also be affected, though I haven't tested it. I've attached a patch which fixes all occurrences. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > Attachments: > 0001-use-new-File-.toURI-to-fix-handling-of-paths-with-sp.patch > > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=322050#comment-322050 ] Robert Scholte commented on SCM-709: [r.43bc1325|http://git-wip-us.apache.org/repos/asf/maven-scm/commit/43bc1325] and [r.10099c04|http://git-wip-us.apache.org/repos/asf/maven-scm/commit/10099c04] committed. I'll let some devs test it first. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=322045#comment-322045 ] Robert Scholte commented on SCM-709: http://stackoverflow.com/questions/957928/is-there-a-way-to-get-the-git-root-directory-in-one-command Tested on Windows and Mac, so that could be something to include > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=320738#comment-320738 ] Robert Scholte commented on SCM-709: No, this doesn't fix the issue. Now only the files within the working directory are checked, not does outside the working directory but inside the repository. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=320737#comment-320737 ] Andrei Pozolotin commented on SCM-709: -- wow! :-) it it all that needed? is part of unit tests now? where can I get snapshot to try this? > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=320728#comment-320728 ] Robert Scholte commented on SCM-709: Dot has been added in https://git-wip-us.apache.org/repos/asf?p=maven-scm.git;a=commit;h=4518cfc5983669cf5f4bcf90a4a4963897afc739 > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317912#comment-317912 ] Tim Kettler commented on SCM-709: - @Darryl That's what the command should be changed to then. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317886#comment-317886 ] Darryl L. Miles edited comment on SCM-709 at 1/23/13 4:13 PM: -- @Tim cd subdir/in/one/git/repo git status --porcelain . Note the use of the "." file name. This can be used to get SVN like behaviour where only the files changes below the current directly are shown. was (Author: dlmiles): @Tim cd subdir/in/one/git/repo git status --porcelain . can be used to get SVN like behaviour where only the files changes below the current directly are shown. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317886#comment-317886 ] Darryl L. Miles commented on SCM-709: - @Tim cd subdir/in/one/git/repo git status --porcelain . can be used to get SVN like behaviour where only the files changes below the current directly are shown. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317874#comment-317874 ] Robert Scholte commented on SCM-709: SCM-686 broke it > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317873#comment-317873 ] Andrei Pozolotin commented on SCM-709: -- I just remembered that it worked fine with maven-release-plugin v 2.3.2 (and whatever SCM dependency was there) is there easy way to see what specific change to v 2.4 (and related SCM) broke this? > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317868#comment-317868 ] Robert Scholte commented on SCM-709: @Andrei: 1. Although it looks like a hack, this will probably work. It's either knowing the relative path between the workingdirectory and the repository root and check the actual file, or get the information from the status-entries. Git claims that the output of porcelain is consistent. After a chat with Mark we decided to try this. We have several different CI systems to verify that this works. I would expect that the status-entry would already have enough information to decide if the file exists or not. 2. That was another idea, but I'm pretty sure that it will break the tests right now. 3. Probably not. As a Windows user (probably the most critical OS in this case) I can confirm that the GIT output is consistent and uses forward slashes. 4. Do we need to check if the file exists, if we better analyze the status output 5. See 4 6. That was my question to Mark 7. how? @Tim Good point. AFAIK scm status expects all modified files inside (relative to?) the working directory. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317829#comment-317829 ] Tim Kettler commented on SCM-709: - I started looking into how to fix this yesterday, too. The most natural solution for me seemed to be to find the repository root and create the files based on that. Either by invoking {{git rev-parse --show-toplevel}} or by walking up the directory tree and looking for {{'.git'}}. The other issue to consider is the actual semantics of the status command. Invoked from the repository root all provider implementations behave the same but from a subdirectory {{svn status}} only shows changes in the subdirectory and below while git shows changes from the whole repository. Is this intended or should the scm status command behave uniform regardless of the provider? > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317822#comment-317822 ] Andrei Pozolotin commented on SCM-709: -- I took a look. few ideas: 1) "/" feels like a hack; who guarantees its presence ? 2) could you differentiate via all of: File.exists() File.isFile() File.isDirectory() ? 3) "/" probably should be File.separator ? 4) need File.getCanonicalFile() to guard against symlinks ? 5) need File.getAbsolutePath() to actually render File.separator suffix ? 6) only one of oldFilePath or newFilePath is actually present on file system for File.exists() to work, could be logic error in :: if ( status == ScmFileStatus.RENAMED ) {} :: block, if treating both same way ? 7) if original issue is path/file overlap, may be should detect specifically only that? > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317806#comment-317806 ] Robert Scholte commented on SCM-709: My latest commit was https://git-wip-us.apache.org/repos/asf?p=maven-scm.git;a=commitdiff;h=6aff3431817108139d29914dc81d8d2dc53e3c6a The idea is to check for a forward slash at the end. If so, it should be a directory, otherwise a file. But if I switch the lines of {{private boolean isFile( String file )}}, some tests fail. The reason: if a file does not exist, it returns {{false}}, but that's not the same as being a directory. Mark Struberg offered his help within a couple of weeks to check if the tests are wrong or not. Or you could speed it up by having a look at it. > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=317801#comment-317801 ] Andrei Pozolotin commented on SCM-709: -- I am curious what next steps would be? > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (SCM-709) REGRESSION: git status doesn't work if repository root is not the working directory
[ https://jira.codehaus.org/browse/SCM-709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Scholte updated SCM-709: --- Description: SCM-686 introduced the {{--porcelain}} option to make the {{status}} result language independend. Without the {{--porcelain}} option files were listed relative to the working directory, but with {{--porcelain}} files are listed relative to the repository root. In most cases these are the same, but not always. was: SCM-686 introduced the {{--porcelain}} option to make the {{status}} result language independend. The regular expressions have changed, but they are too wide, which might cause invalid matches. Assignee: Robert Scholte Summary: REGRESSION: git status doesn't work if repository root is not the working directory (was: REGRESSION: git status regexps invalid) > REGRESSION: git status doesn't work if repository root is not the working > directory > --- > > Key: SCM-709 > URL: https://jira.codehaus.org/browse/SCM-709 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8, 1.8.1 >Reporter: Robert Scholte >Assignee: Robert Scholte >Priority: Blocker > > SCM-686 introduced the {{--porcelain}} option to make the {{status}} result > language independend. > Without the {{--porcelain}} option files were listed relative to the working > directory, but with {{--porcelain}} files are listed relative to the > repository root. In most cases these are the same, but not always. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira