4

我一直在使用 subgit 将我的 subversion 存储库转换为 git。不幸的是,我的一个分支中有一个子项目,它不是标准布局。非标子项目不计入转换。

子项目的内容是

/my-subproject
   file1
   dir1
     subdir1-file1
   file2

有没有办法在 subgit.conf 的映射中指定它?下面是 subgit.conf 中的映射。

例如。

[git "my-subproject"]
translationRoot = my-subprojcet
repository = /var/git/my-subproject.git
pathEncoding=UTF-8

trunk = trunk:refs/heads/master
branches = branches/*:refs/heads/*
shelves = shelves/*:refs/shelves/*
tags = tags/*:refs/tags/*
4

3 回答 3

3

参见subgit help configure,带有“--layout 目录”

subgit 配置 --layout 目录....

'directory' : 把 URL 当作一个分支,只翻译那个分支

于 2016-10-27T01:37:25.207 回答
3

通过执行以下操作,我能够将项目从 SVN 导入到没有主干或分支的 gitHUB。

checkout svn directory
subgit import --non-interactive --svn-url svn://svn/MyProject
subgit configure --layout directory svn://svn/MyProject repos.git
*Manually edit authors.txt to map accounts 
-- note that [svn] trunk is: trunk = :refs/heads/master

subgit install repos.git
cd repos.git/

git remote add github https://github.com/linkrd/NewMyProject
git push github --all --follow-tags

我以前提交的所有 6000+ pf 都在那里。

于 2016-11-08T18:36:31.820 回答
1

正如在subgit 项目映射中发现的那样,配置应该是

[git "my-subproject"]
repository = /var/git/my-subproject.git

translationRoot = /

trunk = /my-subproject:refs/heads/master
branches = branches/project/*:refs/heads/*
shelves = shelves/project/*:refs/shelves/*
tags = tags/project/*:refs/tags/*

我希望这会很有用。

于 2014-05-09T01:23:21.947 回答