2011-10-05 4 views
2

Я пытаюсь использовать Phing для вызова git и вытаскивания удаленного частного репозитория, но он не работает.Phing - вытаскивание из репозитория Github

Вот мой код Phing:

<project name="test" default="main"> 
    <!-- Get User Variables --> 
    <property file="build.properties" /> 

    <!-- Declare Variables --> 
    <property name="base.dir" value="../" /> 
    <property name="git.repository" value="[email protected]:test/test.git" /> 

    <!-- Pull Git Release --> 
    <target name="git.pull"> 
     <gitpull 
      repository="${git.repository}" 
      source="origin" 
      refspec="${git.release}" 
     /> 
    </target> 

    <target name="main" depends="git.pull"> 
    </target> 
</project> 

Но когда я бегу я получаю эту ошибку:

You must specify readable directory as repository. 

Кто-нибудь знает, как это сделать? Или у вас есть рабочий пример?

ответ

5

Для pull вы должны предоставить местный репозиторий. Удаленный репозиторий (тот, где тянуть с) является одним вы даете с source

Вы можете найти примеры в тесте https://github.com/phingofficial/phing/blob/master/test/etc/tasks/ext/git/GitPullTaskTest.xml

+0

В этом примере он использует 'gitclone', а репозиторий удален. Я попробовал это, и у меня такая же ошибка. «Источник» - это ничто, кроме «источника». –

+0

Вы не должны прекращать чтение после первого тега. Конечно, вам нужен локальный репозиторий с одним удаленным от _pull_ откуда-то. Сначала тесты клонируют удаленный репозиторий, который также добавит клонированный репозиторий url как удаленный с именем 'origin'. На следующем шаге вытащить из него. В мире гигантов «основной» пульт обычно называется «origin»;) – KingCrunch

+0

Вправо - я скопировал всю цель, и он ошибся на клоне, поэтому я упомянул об этом>. < –

1

целевой каталог должен существовать. Но он должен быть пустым. Он не должен включать каталог .git.