On Wed, Mar 2, 2016 at 9:21 AM, Johannes Sixt <j...@kdbg.org> wrote:
> Am 13.02.2016 um 00:39 schrieb Stefan Beller:
>> @@ -289,4 +296,39 @@ test_git_path GIT_COMMON_DIR=bar config                 
>>   bar/config
>>   test_git_path GIT_COMMON_DIR=bar packed-refs              bar/packed-refs
>>   test_git_path GIT_COMMON_DIR=bar shallow                  bar/shallow
>>
>> +test_submodule_relative_url "(null)" "../foo/bar" "../sub/a/b/c" 
>> "../foo/sub/a/b/c"
>> +test_submodule_relative_url "../../../" "../foo/bar" "../sub/a/b/c" 
>> "../../../../foo/sub/a/b/c"
>> +test_submodule_relative_url "(null)" "../foo/bar" "../submodule" 
>> "../foo/submodule"
>> +test_submodule_relative_url "../" "../foo/bar" "../submodule" 
>> "../../foo/submodule"
>> +test_submodule_relative_url "(null)" "../foo/submodule" "../submodule" 
>> "../foo/submodule"
>> +test_submodule_relative_url "../" "../foo/submodule" "../submodule" 
>> "../../foo/submodule"
>> +test_submodule_relative_url "(null)" "../foo" "../submodule" "../submodule"
>> +test_submodule_relative_url "../" "../foo" "../submodule" "../../submodule"
>> +test_submodule_relative_url "(null)" "./foo/bar" "../submodule" 
>> "foo/submodule"
>> +test_submodule_relative_url "../" "./foo/bar" "../submodule" 
>> "../foo/submodule"
>> +test_submodule_relative_url "(null)" "./foo" "../submodule" "submodule"
>> +test_submodule_relative_url "../" "./foo" "../submodule" "../submodule"
>> +test_submodule_relative_url "(null)" "//somewhere else/repo" "../subrepo" 
>> "//somewhere else/subrepo"
>> +test_submodule_relative_url "(null)" "/u//trash 
>> directory.t7406-submodule-update/subsuper_update_r" 
>> "../subsubsuper_update_r" "/u//trash 
>> directory.t7406-submodule-update/subsubsuper_update_r"
>> +test_submodule_relative_url "(null)" "/u//trash 
>> directory.t7406-submodule-update/super_update_r2" "../subsuper_update_r" 
>> "/u//trash directory.t7406-submodule-update/subsuper_update_r"
>> +test_submodule_relative_url "(null)" "/u/trash directory.t3600-rm/." "../." 
>> "/u/trash directory.t3600-rm/."
>> +test_submodule_relative_url "(null)" "/u/trash directory.t3600-rm" "./." 
>> "/u/trash directory.t3600-rm/."
>> +test_submodule_relative_url "(null)" "/u/trash 
>> directory.t7400-submodule-basic/addtest" "../repo" "/u/trash 
>> directory.t7400-submodule-basic/repo"
>> +test_submodule_relative_url "../" "/u/trash 
>> directory.t7400-submodule-basic/addtest" "../repo" "/u/trash 
>> directory.t7400-submodule-basic/repo"
>> +test_submodule_relative_url "(null)" "/u/trash 
>> directory.t7400-submodule-basic" "./å äö" "/u/trash 
>> directory.t7400-submodule-basic/å äö"
>> +test_submodule_relative_url "(null)" "/u/trash 
>> directory.t7403-submodule-sync/." "../submodule" "/u/trash 
>> directory.t7403-submodule-sync/submodule"
>> +test_submodule_relative_url "(null)" "/u/trash 
>> directory.t7407-submodule-foreach/submodule" "../submodule" "/u/trash 
>> directory.t7407-submodule-foreach/submodule"
>> +test_submodule_relative_url "(null)" "/u/trash 
>> directory.t7409-submodule-detached-worktree/home2/../remote" "../bundle1" 
>> "/u/trash directory.t7409-submodule-detached-worktree/home2/../bundle1"
>> +test_submodule_relative_url "(null)" "/u/trash 
>> directory.t7613-merge-submodule/submodule_update_repo" "./." "/u/trash 
>> directory.t7613-merge-submodule/submodule_update_repo/."
>
> The tests with absolute paths all fail on Windows. The reason is that
> git.exe sees mangled paths and 'git submodule--helper
> resolve-relative-url-test' produces mangled paths (that begins with a
> drive letter), whereas the test script expects POSIX paths. The pattern
> I currently use to fix this is
>
> test_submodule_relative_url "(null)" "$PWD/addtest" "../repo" "$(pwd)/repo"
>
> (In our test scripts, $PWD is a POSIX style path and $(pwd) is a
> Windows style path).
>
> With this change, the penultimate case above still fails because the
> 'home2/..' gets lost somewhere in the actual output, which I still have
> to debug.
>
> The two cases beginning with '/u//' cannot be tested on Windows.
> Are they important? Are the doubled slashes intentional?

The way I got the test cases is by inserting a debug printf into the
shell script
and then running the test suite (as that ought to work correct and
cover everything).

And the double slash is intentional, somewhere in the test suite we have a case
where that occurs. It may be a calling error?

Thanks for looking into this on the Windows side :)

Thanks,
Stefan

>
>> +test_submodule_relative_url "(null)" "file:///tmp/repo" "../subrepo" 
>> "file:///tmp/subrepo"
>> +test_submodule_relative_url "(null)" "foo/bar" "../submodule" 
>> "foo/submodule"
>> +test_submodule_relative_url "../" "foo/bar" "../submodule" 
>> "../foo/submodule"
>> +test_submodule_relative_url "(null)" "foo" "../submodule" "submodule"
>> +test_submodule_relative_url "../" "foo" "../submodule" "../submodule"
>> +test_submodule_relative_url "(null)" "helper:://hostname/repo" "../subrepo" 
>> "helper:://hostname/subrepo"
>> +test_submodule_relative_url "(null)" "ssh://hostname/repo" "../subrepo" 
>> "ssh://hostname/subrepo"
>> +test_submodule_relative_url "(null)" "ssh://hostname:22/repo" "../subrepo" 
>> "ssh://hostname:22/subrepo"
>> +test_submodule_relative_url "(null)" "user@host:path/to/repo" "../subrepo" 
>> "user@host:path/to/subrepo"
>> +test_submodule_relative_url "(null)" "user@host:repo" "../subrepo" 
>> "user@host:subrepo"
>> +
>>   test_done
>>
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to