[
https://issues.apache.org/jira/browse/SCM-868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17963428#comment-17963428
]
ASF GitHub Bot commented on SCM-868:
------------------------------------
jira-importer commented on issue #1097:
URL: https://github.com/apache/maven-scm/issues/1097#issuecomment-2964645703
**[Ilya
Basin](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=basinilya)**
commented
If you run the "add" or "checkin" command on Windows with the current
working directory and the env. var. "TMP" being on different drive letters,
then the command result will be "zero files added" or "zero files checked in".
Unfortunately, the unit tests of maven-scm don't check this. This issue,
however, breaks WagonTestCase.testWagon() in maven-wagon when attempted to run
for gitexe.
> gitexe add() does not return added files when invoked in subdir
> ---------------------------------------------------------------
>
> Key: SCM-868
> URL: https://issues.apache.org/jira/browse/SCM-868
> Project: Maven SCM (Moved to GitHub Issues)
> Issue Type: Bug
> Components: maven-scm-provider-gitexe
> Affects Versions: 1.9.5, 1.10.0
> Reporter: Ilya Basin
> Assignee: Michael Osipov
> Priority: Major
> Fix For: 1.10.0
>
>
> I'm going to add a wagon-scm test suite for git. One of the test cases is
> calling the GitAddCommand command with:
> {code:java}
> repo:
> file:///C:/progs/maven/maven-wagon/wagon-providers/wagon-scm/target/test-classes/test-repo-git-test/
> fileSet: basedir =
> C:\Users\basin\AppData\Local\Temp\wagon-scm2020146470.checkout\file-list;
> files = [test-resource.txt]{code}
> After adding the files the command internally calls "git rev-parse
> --show-toplevel" which prints:
> {code:java}
> C:/Users/basin/AppData/Local/Temp/wagon-scm2020146470.checkout{code}
> And on the next line it tries to do (pseudo code):
> {code:java}
> ("file:/C:/Users/basin/AppData/Local/Temp/wagon-scm1144102340.checkout/file-list/").relativize(URI.create(
> "C:/Users/basin/AppData/Local/Temp/wagon-scm2020146470.checkout")){code}
> This is so wrong! What were those people from SCM-709 trying to get? A double
> dot ".."? The argument to the relativize() method MUST be a child, not a
> parent, otherwise the argument is returned unchanged.
> There are so many reasons why getting an absolute path from git is a bad
> idea: Symlinks, Windows paths.
> Nevertheless, there's a simple solution. The original problem was that "git
> status --porcelain" printed paths relative to the top level instead of
> relative to the base dir.
> So we should just call
> {code}
> git rev-parse --show-prefix
> {code} instead of "show-toplevel" and strip this prefix from the paths
> printed by "git status"
--
This message was sent by Atlassian Jira
(v8.20.10#820010)