立即澄清,我对编写后门不感兴趣。我对自己向项目提交后门更改列表没有兴趣。
我正在研究一些源建模技术,我们有兴趣查看是否可以识别漏洞或恶意代码。我们使用 git 和 subversion 历史来检查模型快照如何捕获代码之间的关系。有一个问题是,在这样的环境中,某些类型的代码是否会显示为异常值。
考虑到这一点,我很难找到 git/cvs/? 开源存储库,其中包含一个包含后门的更改列表示例,已提交并将显示在日志中。
我们将proftpd 视为早期示例,但并未检入该漏洞,而是修改了其他版本的代码。
开源项目的修订历史中是否有尝试插入后门代码的例子?
谢谢,斯科特
我曾经使用git cvsimportcvs 服务器,并且工作正常。然而,一些非常老的项目有很多提交和大文件。它导致 cvsimport 花费很长时间检查所有提交并将它们转换为 git 格式。
我cvsimport喜欢这个:
git cvsimport -v -a -d :pserver:qrtt1@localhost:/cvs cvsroot/my_module
Run Code Online (Sandbox Code Playgroud)
是否可以在某个日期之后选择提交?
我无法连接到远程 CVS 服务器。
$ export CVSROOT=:ext:myusername@serverdomain.com:/path-to-repository
$ export CVS_RSH=/usr/bin/ssh
$ cvs co projects/projectname
myusername@serverdomain.com's password: (Password works fine so it is connecting correctly to the server)
Cannot access /path-to-repository/CVSROOT
No such file or directory
Run Code Online (Sandbox Code Playgroud)
你知道出了什么问题吗?
我也尝试过执行其他 cvs 操作,得到相同的结果
$ cvs log projects/projectname
Cannot access /path-to-repository/CVSROOT
No such file or directory
Run Code Online (Sandbox Code Playgroud)
谢谢!
cvs中有大约200个项目,vss中至少有100个项目.有些是维护模式下的非活动代码.有些是遗留应用.有些是不再使用的旧应用程序.大约10%正在积极开发中.计划是在2009年年底完成所有工作.
有人做过这样的大型迁移吗?
有没有人遇到过从cvs转到perforce的最佳实践?或类似的迁移.有什么需要注意的吗?
所以我有一个源代码树,我想在CVS中清理.
真正想要的是将旧的东西分开,但永远不要合并.但是,如果我需要,我可以让eclipse工作区访问并进行一些更改.
然后我们清理主干(通过移除我们不再需要的东西)并继续开发.然后,当我们点击新版本时,我们再次将其分支.
我不确定这在CVS中是如何工作的.因此,如果有人能够解释最好的方法,那就太棒了.
如果您有来自不同版本控制系统(cvs,svn ...)的一些目录,您如何找出每个来自哪个类型的存储库?
我们感兴趣的是从支持共享或链接文件概念的源代码控制系统转移.
共享文件是指:在一个项目中修改的文件,自动更新在使用每一个其他项目改变同一文件.如果没有开发人员不得不请求它,反向集成它,请求它,甚至想要它,它都可以做到这一点.
我们试图查看是否有其他常用的源控制系统能够满足我们的需求,并包括链接或共享文件.我的有限研究表明:
还要别的吗?(除了我们目前的源代码控制产品,显然)
看起来很多人在这里以及许多程序员wiki/blogs/ect.其他地方真的不喜欢VSS.很多人也非常不喜欢cvs.在许多地方,我听说过很多关于使用VSS或cvs是否更好或更差的意见,然后使用无源控制,请评价最差并解释原因!!!!! 你这样评价他们.随意在排名中投入自己糟糕的系统.如果您认为这取决于具体情况,请尝试解释导致不同排名的一些不同情景.
(注意:我看到很多关于什么是更好但很少更糟糕的讨论.)
第二个注意事项:虽然两个答案都很好,但我看起来不是很好的替代品而是更多的比较哪个更糟,更重要的是为什么!
我们有一个cvs存档,我可以得到我想要的任何文件的任何版本.但是,是否有任何方法可以获取特定日期和时间的代码?我没有看到任何要求的选项.我希望能够日复一日地浏览cvs存档并自动执行指标,也许可以随时查看代码发生的变化.
我正在使用CVS和win7.我需要将一些更改从主干复制到分支,所以我想我可以使用"diff -ruN"将更改放入文件中,然后使用"patch -i"将它们应用到分支.
所以我看到了这个页面和这个页面.我已经有了cygwin diff,所以我在这里得到了gnu补丁.我做了两个文件
\test\mydir1\afile.txt
\test\mydir2\afile.txt
Run Code Online (Sandbox Code Playgroud)
有微小的差异.然后我输入
cd test
diff -ruN mydir1 mydir2 >test.patch
patch --dry-run -i test.patch
Run Code Online (Sandbox Code Playgroud)
结果是
can't find file to patch at input line 4
Perhaps you should have used the -p or --strip option?
Run Code Online (Sandbox Code Playgroud)
所以我试过了
patch --dry-run --verbose -p1 -i test.patch
Run Code Online (Sandbox Code Playgroud)
我得到了同样的错误.很长一段时间我尝试了很多其他的事情,没有成功.为什么这么难?