проверка удаленной ветки из недавно добавленной ветки - PullRequest
2 голосов
/ 19 марта 2010

наша SVN до сих пор имела традиционную компоновку:

 trunk
 branches/
 tags/

Я давно клонировал весь репозиторий, и все работало отлично. но несколько недель назад кто-то понял, что конкретные выпуски должны идти в выпуски / вместо веток /, поэтому макет изменился на следующий:

  trunk
  branches/
  releases/
  tags/

Есть ли способ начать отслеживать релизы / без повторного клонирования репозитория (который содержит более 15k ревизий ...)? вот так выглядит мой конфиг на данный момент:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        autocrlf = false

[svn-remote "svn"]
        url = https://blahblah
        fetch = trunk:refs/remotes/trunk
        branches = branches/*:refs/remotes/*
        tags = tags/*:refs/remotes/tags/*

к сожалению, "git svn fetch" по какой-то причине не получает ничего из релизов /, а "git branch -r" не показывает ни одного релиза в этом каталоге.

1 Ответ

1 голос
/ 19 марта 2010

Согласно git help svn, вы можете указать несколько branches=... строк в вашем конфигурационном файле:

При использовании нескольких --branches или --tags, git svn не обрабатывает автоматически конфликты имен (например, если две ветви из разных путей имеют одинаковое имя или если ветвь и тег имеют одинаковое имя). В этих случаях используйте init для настройки вашего git-репозитория, затем перед первой загрузкой отредактируйте файл .git / config так, чтобы ветви и теги были связаны с различными пространствами имен. Например:

branches = stable/*:refs/remotes/svn/stable/*
branches = debug/*:refs/remotes/svn/debug/*

В вашем случае, если вы уверены, что у вас не будет никакого конфликта имен, я думаю, вы могли бы иметь следующие строки:

branches = branches/*:refs/remotes/*
branches = releases/*:refs/remotes/*
...