Fix git protocol uri for windows

Fixes the 'scm' protocol uri for Windows. Have to replace all
backslashes with forward slashes, add one more slash at the
beginning and remove the colon from the dirve.
This commit is contained in:
René Pfeuffer
2020-04-24 16:35:02 +02:00
parent 5140bdf6b0
commit 0f1bc647a4
2 changed files with 10 additions and 2 deletions

View File

@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package sonia.scm.repository.spi;
import org.eclipse.jgit.api.Git;
@@ -34,6 +34,7 @@ import sonia.scm.repository.GitWorkdirFactory;
import sonia.scm.repository.InternalRepositoryException;
import sonia.scm.repository.util.SimpleWorkdirFactory;
import sonia.scm.repository.util.WorkdirProvider;
import sonia.scm.util.SystemUtil;
import javax.inject.Inject;
import java.io.File;
@@ -72,7 +73,11 @@ public class SimpleGitWorkdirFactory extends SimpleWorkdirFactory<Repository, Re
}
private String createScmTransportProtocolUri(File bareRepository) {
return ScmTransportProtocol.NAME + "://" + bareRepository.getAbsolutePath();
if (SystemUtil.isWindows()) {
return ScmTransportProtocol.NAME + ":///" + bareRepository.getAbsolutePath().replaceAll("\\\\", "/");
} else {
return ScmTransportProtocol.NAME + "://" + bareRepository.getAbsolutePath();
}
}
@Override