我最近将我的SVN客户端从1.6.9升级到1.7.2,在转换为新格式后,我注意到每个子文件夹都不再有.svn.对于我的特定配置,这不是很方便.
有没有办法撤消这个或恢复旧的行为,其中来自CO的每个子文件夹都有.svn?
是否有任何工具可以促进从Sourcegear的Vault迁移到Subversion?
我真的更喜欢现有的工具或项目(我会买!).
要求:
可选的:
如果您可以分享与此流程相关的个人经验,则可获得奖励积分.
我想这样做的原因之一是因为我们在Vault和Subversion之间分布了很多项目(我们终于远离了sourcesafe).在某些情况下,能够将特定客户的回购合并到SVN会很有帮助.
此外,SVN在第三方工具中得到更好的支持.例如,Hudson和Redmine.
尽管如此:我们并没有完全抛弃金库.
svn version-control sourcegear-vault version-control-migration
我正在尝试将旧存储库(让我们称之为myOldRepo)迁移到新的存储库(myNewRepo).
我有一个旧回购的svndump , myOldRepo.dump. 我已经检查了我的新存储库myNewRepo.两者都在同一目录中.我正在尝试使用以下命令将旧的repo转储加载到新的repo中:
svnadmin load ./myNewRepo < ./myOldRepo.svndump
Run Code Online (Sandbox Code Playgroud)
这会出现以下错误:
svnadmin: Can't open file 'myNewRepo/format': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经使用SVN很长一段时间了,我还没有format在我的任何存储库中看到过一个文件.这是什么format那是myNewRepo预期?
我还尝试在myNewRepo目录中创建一个空format文件(touch format).然后,当我执行svnadmin load命令时,我得到以下内容:
svnadmin: Can't read file 'myNewRepo/format': End of file found
Run Code Online (Sandbox Code Playgroud)
svn version-control svnadmin version-control-migration svndump
我知道迁移是对数据库模式进行版本控制的一种方法.但是,因为我有一个由多个项目共享的数据库,并且每个项目都可能会稍微改变一下架构.所以,我需要像分支和合并函数一样的代码,例如git代码,其中迁移不能提供这样的功能.那么,是否有专门针对数据库的版本控制工具?
我们使用带laravel和mysql的php作为数据库,如果需要我们愿意切换到postgresql.
php mysql database version-control version-control-migration
我们有一个巨大的SVN存储库(~100GB),我们正试图迁移到Git.问题是,repo包含许多遍布文件夹树的二进制文件.
我们想到的第一件事是将二进制文件移动到Git-LFS,但是我们需要解决一些问题:
谢谢
是否有任何具有Git功能的版本控制软件,但它不是病毒许可证? - 根据我的定义,"病毒许可证"是指要求衍生软件属于相同或同等限制许可的软件许可.
我对GPL的争论或讨论不感兴趣; 它超出了本问题和网站的范围.
谢谢.
我目前正在尝试将我们的版本控制切换到Git(来自CVSNT).令人惊讶的是,这不是我遇到问题的分期性或临时区域的概念.但是,我很难解决AFAICT操作(如分支,合并和标记)始终应用于存储库级别而不是文件或目录级别的问题.
我们在不同的项目中重用了很多代码.我的工作区目前看起来像这样:
/Dev
/Libs
/LibA
/LibB
/LibC
/Project1
/Project2
/Project3
/WebDev
Run Code Online (Sandbox Code Playgroud)
现在,假设Project1依赖于LibA和LibB,Project2依赖于LibB和LibC,而Project3没有lib依赖.其中一些lib后来被编译成DLL(或BPL-我们的主要开发环境是Delphi),其他只是可重用代码的集合,它们逐个文件地包含在主项目中.
WebDev包含我们(主要是静态的)公司网站的代码,该网站还包含有关Project1,2,3的信息,因此可能必须与它们一起标记.
由于我在项目之间切换很多,我通常会同时检查所有这些,在必要时将lib目录即时更新到相应的项目分支.
我将如何在Git中对此进行建模,是否有理由坚持这种工作方式?我已经阅读了关于git子模块但是到目前为止我没有看到我将如何应用这里有几个原因:
据我所知,子模块总是会在各自的"超级项目"中检出.但是,我们发现使用Delphi管理(设计时)库代码的多个副本是皇家PITA,这是我们将所有库保存在单个项目树之外的公共目录下的原因之一.其他副本只能通过构建自动化进行检查,从不进行任何实际工作.
我真的不希望libs与项目"独立":如果我标记或分支其中一个项目,我总是想标记或分支各自的库.当我想回到主项目的特定标记版本时,我希望libs也可以恢复到该状态.如果可能,标记/分支/签出应始终在项目及其依赖项的单个步骤中发生.
我已经尝试将所有内容放在一个Git存储库中,其中库代码主要在主分支上进行管理,并且每个"项目"都在自己的分支上,但每当我尝试合并主服务器和项目分支之间的lib更改时,它就会拉动来自不相关的libs的所有文件,这根本不是我想要的......
你们有什么想法如何最好地解决这一切?我对所有的建议都持开放态度,包括我工作树的新布局.
如果有人能指出我关于子模块的实际动手教程(或者我需要完成的任何其他技术),那也很棒.
git version-control git-submodules version-control-migration
我必须将分支 Mercurial 存储库转换为 git 存储库,并继续将更改从 Mercurial 拉到 git(仅限单向)一段时间。现有的 hg-to-git 答案似乎无法正确处理分支。例如,具有“default”和“br1”分支的小型 hg 存储库会产生以下结果:
$ hg branches
br1 3:a8914879f6bb
default 2:4e6221bce113
cd ..
git-hg clone file:/path/to/hgrepo gitrepo
...<snip>
From .git/hgremote
* [new branch] br1 -> hg/br1
* [new branch] master -> hg/master
From .git/hgremote
* branch master -> FETCH_HEAD
cd gitrepo
git branch --list
* master
Run Code Online (Sandbox Code Playgroud)
Git 认为只有一个分支“master”。 如何使我的 Mercurial 分支显示为同名的 git 分支? 我可以使用“master”而不是“default”,但我必须在 git 中拥有所有其他命名分支。
我知道这个问题在几次之前被问过并标记为"可能重复",但它们似乎都没有正确.我试过快速导出,它给出了错误.任何人都可以帮助如何从Mercurial迁移到Git?我需要历史.如果逐步列出它将是值得赞赏的.
更新:
我试过快速出口:
cd ~
git clone git://repo.or.cz/fast-export.git
git init git_repo
cd git_repo
~/fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo **[I get error in this line]**
git checkout HEAD
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
..... hg-fast-export.sh:第79行:找不到python:command
谢谢您的帮助!
C:\>git tf clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main OldTFS --deep
这只能获取我的主分支历史记录。那是git tf。
C:\>git tfs clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main --with-branches
在其中一个合并变更集获取几个分支后,此操作失败Please report this case to the git-tfs developpers! (report here : https://github.com/git-tfs/git-tfs/issues/461 )。git branch给我这个
Release/20120719.1
Sprint/Sprint044
Sprint/Sprint045
Sprint/Sprint047
Sprint/Sprint048
Sprint/Sprint049
Sprint/Sprint050
*master
Run Code Online (Sandbox Code Playgroud)
我已经分支到 Sprint085 以及相当多的发布分支。那是git tfs
有什么方法git tf可以让我获取一些其他正确创建合并提交的分支,以便我可以正确地查看历史记录?
我正在将存储库(.Net,Angular)从迁移GitLab到Azure DevOps。找不到太多有关此迁移影响的文档。
我的问题是:
我可能需要考虑的任何预防措施/最佳做法。