我们使用svn,并使用git-svn来保持理智.有一次,我们的svn服务器决定为某个文件夹返回403.它发生在每个人身上,而不仅仅是我.
因此,我无法进行git-svn rebase.我看到这个错误:
Index mismatch: 164adbb93408bed4ff0bdbcbf07bdfb2c49ed0ce != 64443edc6089f7f737e51cf8ea5ff3680c95a7e9
rereading 0f2fa25d15a35ac3fe311e3e0142f1d9e5a3be18
M test/system-tests/src/test/java/com/garmin/elevation/ElevationManagerSystemTest.java
M test/activity-test/src/test/java/com/garmin/elevation/ElevationManagerIntegrationTest.java
M test/activity-test/src/test/java/com/garmin/mb/activity/service/ActivityServiceManagerIntegrationTest.java
M system/deployment/src/main/resources/oracle/releases/2.9-SNAPSHOT/110-preference/4-data.dml.sql
M pom.xml
service/activity-service-1.2/src/main/java/com/garmin/activity/service/impl/ActivityServiceImpl.java was not found in commit 0f2fa25d15a35ac3fe311e3e0142f1d9e5a3be18 (r8845)
Run Code Online (Sandbox Code Playgroud)
它最后抱怨的文件位于我们收到错误时返回403的文件夹中.在我的文件系统上,service/activity-service文件夹不存在.我相信它正在尝试修改文件(这就是svn的变化),但由于文件不存在,它只会爆炸.
所以我认为如果我能够删除过去的修订版,然后重新获取它们,它可能会起作用.我只是不确定该怎么做.我尝试以交互方式重新定位然后删除一堆,但这不起作用.
那么,有谁知道如何取消已取出的版本?
dOx*_*xxx 10
一个更好的办法,现在要做到这一点git svn reset -r <rev>,其中REV是修订前要开始重新获取.完成之后,运行git svn fetch它将重建其索引并在rev之后重新获取修订版本.
首先备份.git目录.
删除.rev_map.$UUID问题分支的文件,如下所示.git/svn; 并回滚git-svn代表问题分支的生成分支(通常,trunk).要回滚分支,运行git pack-refs --all,git log $BRANCH在问题提交之前找到提交,并编辑.git/packed-refs,以便分支现在指向较旧的提交.然后跑git svn fetch.它将从您现有的重绕分支重建rev-map,然后获取您尚未拥有的svn提交,包括问题提交.您现在应该可以正常变换和拒绝.
| 归档时间: |
|
| 查看次数: |
2308 次 |
| 最近记录: |