ProcessBuilder: Git-репозиторий не загружается - PullRequest
0 голосов
/ 11 ноября 2018

Я использую ProcessBuilder для загрузки с Git. Это мой текущий код:

Process process = null;
try {
    String[] command = {"git", "clone", gitLink};
    ProcessBuilder processBuilder = new ProcessBuilder(command);
    processBuilder.directory(new File(gitPath));
    process = processBuilder.start();

    System.out.println("\n*** Console output is:");
    InputStream processStdOutput = process.getInputStream();
    Reader r = new InputStreamReader(processStdOutput);
    BufferedReader br = new BufferedReader(r);
    String line;
    while ((line = br.readLine()) != null) { System.out.println("\t" + line); }

    process.getOutputStream().close();
} catch (IOException e) { e.printStackTrace(); }
finally { if (process != null) { process.destroy(); } }

Таким образом, gitLink будет реальной ссылкой на репозиторий, который я хочу загрузить, а gitPath - это место, куда он будет загружен на мой ПК. gitPath, кажется, работает, поскольку я протестировал его, выполнив команду ls. gitLink, однако, ничего не показывает. Я получаю Git-репозиторий на секунду (в правильной папке gitPath), а затем он исчезает. Кроме того, когда я использую фактическую ссылку для Git-репозитория вместо переменной gitLink, она отлично работает. По какой-то причине ему не нравится переменная gitLink.

Вот код, который работает:

String[] command = {"git", "clone", "https://some-rep.git"};

При прочих равных условиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...