2017-02-06 3 views
0

Я пишу сценарий, в котором я должен добавить конкретный файл, присутствующий в папке, в локальный репозиторий git с помощью add(). Поэтому я повторяю в папке все файлы один за другим и добавляю их в локальный репозиторий, используя add(). Но так или иначе, проверяя консоль с использованием git status, эти файлы не добавляются.JGit: добавьте файл, содержащийся в папке с помощью Add()

Фрагмент кода:

AddCommand cmd=git.add(); 
    File[] fList = pathFolder.listFiles(); 

    for (File file : fList){ 

     if (file.isFile()){ 
      try { 
       cmd.addFilepattern(file.getPath()); 

      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
    try { 
     cmd.call(); 
    } catch (GitAPIException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

Ждем какое-то решение

ответ

1

Я думаю, вы не должны добавить полный путь через file.getPath(), а только относительное имя, например, pathFolder.getName() + "/" + file.getName() или что-то подобное.

Другим вариантом было бы просто добавить этот каталог, то это должно добавить все файлы в этом каталоге в соответствии с JavaDoc

Для простого рабочего примера посмотрим на this snippet

+0

Это на самом деле работал с – user3789902

Смежные вопросы