在我的存储库中,我有两个修订版.src代码在修订版2上,但我有一个搞砸了的文件,所以我把它还原为修订版1.
经过几个小时的调试,javafile工作,但我不能提交它.SVN说javafile已经过时了.这可能是因为我正在编辑javafile.java rev1,对吗?
我该如何解决这个问题?我知道我可以将我修改过的javafile rev1代码复制/粘贴到它的rev2对应物中,然后提交,但还有其他方法吗?我是否错误地使用SVN?
可能重复:
我的机器中的svn.exe在哪里?
我尝试使用命令更改我的存储库的用户名
svn propset --revprop svn:author
Run Code Online (Sandbox Code Playgroud)
我找不到程序svn.exe.怎么了
我做了一个改变清单......
$ svn changelist my_changes
Run Code Online (Sandbox Code Playgroud)
...向其添加文件,然后提交更改列表......
$ svn ci --changelist my_changes --keep-changelists
Run Code Online (Sandbox Code Playgroud)
...所以现在,我已"保留"我的更改列表,每次查看状态时都会显示.
$ svn status
... modified/added/deleted files listed here...
--- Changelist 'my_changes':
... files that are a part of this changelist listed here...
Run Code Online (Sandbox Code Playgroud)
我"保留"更改列表是有原因的,但我不再需要它,所以我准备删除它.如何从SVN中删除此更改列表?我知道如何从更改列表中删除文件,但不知道更改列表本身.
我对Git比较陌生,但我发现在家工作很容易,我想在我们的项目存储在Svn存储库中的工作中使用它.不幸的是,存储库略微不标准,我无法克隆它们.当然,它们都有trunk,branches /和tags /,但是在命中实际项目目录之前,branch /和tags /都有子目录:
trunk/
branches/maintenance/release1
branches/maintenance/release2
...
branches/development/feature1
branches/development/feature2
...
tags/build/build1
tags/build/build2
...
tags/release/release1
tags/release/release2
Run Code Online (Sandbox Code Playgroud)
克隆后:
$ git svn clone -s --prefix=svn/ https://mydomain.com/svnproject
$ git branch -r
development
development@1340
maintenance
maintenance@1340
tags/build
tags/build@1340
tags/release
tags/release@1340
trunk
trunk@1340
Run Code Online (Sandbox Code Playgroud)
我没有得到任何实际的项目分支或标签.我实际上需要能够在主干,一个维护分支和一个开发分支上工作.我已经尝试过这种方法,除了修改配置的几个黑客,但没有什么对我有用.
有什么方法可以将我的非标准Svn项目的关键组件放到本地git存储库中,以便我可以轻松地在它们之间移动?
非常感谢.
更新:我应该补充一点,我不能批量切换到Git(尚).还有其他团队成员参与和国际存在.转型的后勤工作比我更愿意承担,直到我对Git更加满意; 正如我所提到的,我还是很新的.我几乎没有触及其功能的表面.
使用存储库中的子目录时,如何在将特定目录添加到存储库时查找修订?通过使用"svn info http:// .."我可以找出最后一次修改它的时间("Last Changed Rev"),但我还需要找到该目录时提交的修订号(或者文件)是第一次添加(它是"第一次"修订版).
我一直在"SVN书"中搜索,谷歌搜索,但显然,我没有结果.
注意:我需要这个来制作一个PHP脚本来下载日志并将它们存储在本地,只是为了清楚并避免"使用tortoise/svnx/versions/you_name_it application";)
我的家庭服务器出现硬盘故障.
一旦我意识到磁盘正在运行,我就登录并直接复制了我的存储库,其中包含多个项目.
但是,由于磁盘发生故障,其中一个修订版本被破坏:
$ svnadmin verify master/
[...]
* Verified revision 820.
* Verified revision 821.
* Verified revision 822.
svnadmin: No such revision 823
Run Code Online (Sandbox Code Playgroud)
该master/db/revs/和master/db/revprops/目录做的,的确,不包含任何所谓的文件823,所以这个版本缺少(断).随后的修订版(我真的想保留!)在master/版本#947 的存储库中.
今天我拿到了我最近的异地备份(!),其中包含了这个版本.我想master/通过修复缺少的修订来"修复"损坏的存储库,因为它比备份更新.
我确保将转储文件加载到新创建的存储库中,该存储库与复制的存储库具有相同的版本master/,因此它是所有旧的"线性"格式3.
我尝试了显而易见的,只是823从备份db/revs/和db/revprops/目录中复制文件:
$ cp repos/db/revs/0/823 master/db/revs/
$ cp repos/db/revprops/0/823 master/db/revprops/
Run Code Online (Sandbox Code Playgroud)
该目录repos/包含已从备份转储加载的存储库.现在我得到:
$ svnadmin verify master/
[...]
* Verified revision 821.
* Verified revision 822.
svnadmin: /build/buildd/subversion-1.6.12dfsg/subversion/libsvn_delta/compose_delta.c:165: search_offset_index: Assertion `offset < ndx->offs[ndx->length]' failed. …Run Code Online (Sandbox Code Playgroud) 如果我svn:忽略一个非常大的文件夹,它会提高SVN更新期间的性能吗?
我的项目中有这个非常庞大的(> 600MB)文件夹.此文件夹中的文件根本不应更改.问题是每次我调用"svn update"都需要永远.有没有办法在更新期间忽略此文件夹以加快更新过程?
我需要在SVN中的两个修订版之间获取已更改的文件列表.
我使用了以下命令:
svn diff -r 5001:6001 --summarize https://svn.blah.com/../ > output.txt
Run Code Online (Sandbox Code Playgroud)
出于某种原因,在修订版5001上修改的文件未填充在输出文本文件中.
在两个修订版之间提取文件列表的确切命令是什么(包括修订版和修订版,包括修订版5001和修订版6001)?
我一直在努力寻找一种方法,将Jenkins(从SVN拉动)产生的变化列表包含在我们的Testflight笔记中.我正在使用Testflight插件,它有一个笔记字段 - 但似乎没有任何jenkins创建的用于嵌入该信息的参数/令牌.
有没有人有幸做过这样的事情?
svn ×10
revision ×2
changelist ×1
clone ×1
diff ×1
git ×1
git-svn ×1
jenkins ×1
svnadmin ×1
svnignore ×1
testflight ×1
tortoisesvn ×1