Юля: Как изменить ветку пакета - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь изменить ветку, которую я использую для пакета, полученного от Github. (Я не хочу использовать мастер.) Я пробовал using Pkg, затем Pkg.checkout("Package","branchIwant"), но он возвращается как неопределенная функция ... Я предполагаю, что функция устарела. Первоначально я добавил пакет, используя add PackageIWant в диспетчере пакетов (нажав ], когда REPL запускается с терминала). Когда я перехожу к пакету под .julia/packages/PackageIWant и пытаюсь изменить ветку с помощью Git, он говорит, что это не репозиторий Git.

Есть предложения?

Юля v1.3.0. MacOS - Хотя это не имеет значения

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Это объясняется в Pkg.jl docs :

Если ветка (или определенная фиксация) примера содержит исправление, которое еще не включено в зарегистрированный версии, мы можем явно отслеживать эту ветвь (или фиксацию), добавив #branchname (или # commitSHA1) к имени пакета:

(v1.0) pkg> add Example#master
  Updating git-repo `https://github.com/JuliaLang/Example.jl.git`
 Resolving package versions...
  Updating `~/.julia/environments/v1.0/Project.toml`
  [7876af07] ~ Example v0.5.1 ⇒ v0.5.1+ #master (https://github.com/JuliaLang/Example.jl.git)
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [7876af07] ~ Example v0.5.1 ⇒ v0.5.1+ #master (https://github.com/JuliaLang/Example.jl.git)

Теперь вывод состояния показывает, что мы отслеживаем основная ветвь Example. При обновлении пакетов мы будем получать обновления из этой ветки.

0 голосов
/ 10 июля 2020

Я нашел решение:

Вместо добавления пакета через add gitrepogttps используйте dev gitrepohttps. Это поместит пакет в вашу папку разработчика (../.julia/dev/packageinquestion). Затем вы можете перейти к ветке и использовать git для переключения ветвей.

Обратите внимание, что это не так гладко, как ответ выше.

...