相关疑难解决方法(0)

将svn repo添加到现有的git repo中?

我知道你可以使用git svn init来跟踪一个带有git的svn repo,但是如果你想创建一个全新的repo,那就是这样.

我的情况是,我目前已经有了一个现有的git repo,并希望通过在我当前的git仓库中将其作为远程分支来跟踪svn repo的主干.

有什么建议?

svn git git-svn

44
推荐指数
3
解决办法
2万
查看次数

更新git-svn远程分支列表

当我必须使用svn时,我使用git-svn与svn对话.我用标准的git svn clone -s行克隆了repo,当时所有的远程分支都在那里.

从那时起,一个新的分支已经创建,但不是我.我想在本地结帐/跟踪这个分支.我可以跟踪一个我能看到的分支(使用git branch -r),如下所示:

git checkout -t -b dev remotes/development
Run Code Online (Sandbox Code Playgroud)

但这不适用于其他分支,因为它没有出现在git branch -r中

如何跟踪这个缺失的分支?

svn git branch git-svn

28
推荐指数
2
解决办法
1万
查看次数

git-svn:无法设置跟踪信息; 起点不是分支

在git 1.7.9.5中,我可以运行以下行而不会出现错误:

export SVNPASS=readonly
git clone git@github.com:dtenenbaum/RGalaxy.test.git
cd RGalaxy.test/
git config --add svn-remote.hedgehog.url https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/RGalaxy
git config --add svn-remote.hedgehog.fetch :refs/remotes/hedgehog
# the following is a shortcut to avoid fetching every commit since antiquity, since I happen to know the commit number
# where this folder was added to svn:
echo $SVNPASS | git svn fetch --username readonly hedgehog -r 65762:HEAD
git checkout -b local-hedgehog -t hedgehog
Run Code Online (Sandbox Code Playgroud)

在git 1.8.3.4和1.8.4.1中,最后一行导致:

fatal: Cannot setup tracking information; starting point 'hedgehog' is not a branch.
Run Code Online (Sandbox Code Playgroud)

对 …

git git-svn

22
推荐指数
2
解决办法
9388
查看次数

在同一个svn-remote中初始获取后添加git分支

我正在使用git-svn来处理svn repo.我不想要整个回购,正弦它包含很多遗产,其中包含二进制文件.我只跟踪一些目录.

这是我的当前.git/config,这是正常的.

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[svn-remote "svn"]
    url = https://svn.example.com/repository
    fetch = trunk/Python:refs/remotes/trunk
    branches = branches/{stage,prod,stage_with_proxy}/ucapi/:refs/remotes/*
    branches = branches/{active}/Python/:refs/remotes/*
Run Code Online (Sandbox Code Playgroud)

现在我要添加一个新分支:

    branches = branches/{fuze_node}/:refs/remotes/*
Run Code Online (Sandbox Code Playgroud)

但是当git svn fetchgit看不到新的分支时.它就好像该行不在配置中.


我知道这可以用一个新的svn-remote完成,但我宁愿不走那条路.

svn git git-svn

17
推荐指数
1
解决办法
3026
查看次数

Git SVN如何忽略路径工作(忽略每日构建标记)?

我正在尝试使用git svn克隆一个svn存储库.存储库具有标记的每日构建,我想忽略它.我试图使用"ignore-paths"选项来做到这一点,但我仍然将每日构建标记作为我的存储库中的分支.

这里有一个非常近期和类似的(但迄今未解答的)问题: 如何git svn只获取具有某些模式的分支/标签?

存储库布局 - https://test.kuali.org/svn/rice

通用存储库结构

  • 分支机构
    • 分行1
  • 忽略目录1
  • 忽略目录1
  • 标签
    • 标签1
    • 标签2
      • 旧标签1
      • 旧标签2
    • 建立
      • 每日构建1
      • 每日构建2
  • 树干

我试过了什么

我在正则表达式上并不那么出色,而且它们可能是错的,但这是我尝试过的:

这只是我在git svn文档中找到的修改版本:

git svn clone -r15709:HEAD --prefix=svn/ --stdlayout --no-follow-parent --ignore-paths="^[^/]+/(?:tags/builds|tags/old|branches)" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)

这是我试图简化:

git svn clone -r15709:HEAD --prefix=svn/ --stdlayout --no-follow-parent --ignore-paths="(old|builds)" https://test.kuali.org/svn/rice rice-full
Run Code Online (Sandbox Code Playgroud)

绝望......(并添加一些我不需要的路径)

git svn clone -r15711:HEAD --prefix=svn/ --stdlayout --ignore-paths="^[^/]+/(?:builds|old)|inactive|rice-functional-tests|sandbox|tools" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)

然后我切换到更新版本,以便更快完成,并尝试忽略所有分支和标签进行测试.这个似乎没有得到任何分支和标签,但它也从未完成.它似乎冻结了(至少,它的运行时间超过了我认为应该只有一两天的历史):

git svn clone -r21846:HEAD --prefix=svn/ --stdlayout --ignore-paths="^tags*|^branches*" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)

我试过的最后一个是:

git svn clone -r15711:HEAD --prefix=svn/ --stdlayout --ignore-paths="^tags/old*|^tags/builds*|^inactive*|^rice-functional-tests*|^sandbox*|^tools*" https://test.kuali.org/svn/rice
Run Code Online (Sandbox Code Playgroud)

一般思考和问题

  1. 我不确定ignore-paths正则表达式到底匹配什么.它是svn存储库的相对路径(tags/builds/Daily build 1)吗?是评估项目中的每个文件(标记/构建/每日构建1 /文件1,标记/构建/每日构建1 /文件2)还是仅在分支/标记级别(标记/构建/每日构建1)?它是否包含存储库基本URL( …

git git-svn msysgit

14
推荐指数
1
解决办法
8167
查看次数

git-svn本地分支跟踪远程svn分支

我在svn上签出我自己的私人分支,如下所示:

git svn clone svn://server/cfe/project/branches/fb_oz_3173_email
Run Code Online (Sandbox Code Playgroud)

现在我在分公司master.

我想要:

  • 将此分支重命名为 fb
  • 添加名为master的分支,跟踪远程 svn://server/cfe/project/trunk

我做不到.有人可以给我带头吗?

更新

  • 第一部分很简单: git branch -m fb

svn git git-svn

2
推荐指数
1
解决办法
3243
查看次数

标签 统计

git ×6

git-svn ×6

svn ×4

branch ×1

msysgit ×1