提问的智慧SVN版 - 提问者必读
发新话题
打印

如何一次添加多个文件,这些文件分布在各个子目录下

如何一次添加多个文件,这些文件分布在各个子目录下

(这个问题转自 http://post.baidu.com/f?kz=76043476  )
我一直用的很好。但是遇到了下面的问题,请大家帮忙啊:
怎么方便的解决如下问题:
我的工作目录为abc,其下有若干子目录s_abc_1,s_abc_2,等等。由于项目需要,某次,我不但向abc中添加了N个文件,同时还向 s_abc_1,s_abc_2等许多子目录中添加了N多文件(包括文件夹),请告诉俺怎么才能用比较便利的方法把新添加了的文件and文件夹提交到 subversion的库里边?
http://zhengxinxing.googlepages.com/home

TOP

郑新星答:
直觉上来说,我猜就是  svn add * 命令
测试一下发现不行,svn 会抱怨一堆“某个目录已经被我监管了”的废话,失败

使用svn help 查看帮助,可惜信息太少,失败

不死心,仔细查看官方文档,终于发现一个看起来很酷的参数  --force ,试用一下,果然成功了!bingo


总结:

你不能直接使用 svn add * 命令,必须使用 “svn add * --force” 命令。
请放心,--force参数没有看上去的那么可怕,svn会自动判断,看这个文件是否值得添加,--force参数只不过是驱使 svn 去检查一个子目录,而不管这个子目录是否已经纳入管理
http://zhengxinxing.googlepages.com/home

TOP

如果安装了TortoiseSVN这个客户端的话,可以这样做:
1在目录abc上右键,出现右键菜单
2在右键菜单上或TortoiseSVN子菜单上点击Add...这个菜单,出现对话框TortoiseSVN:Add
3在这个对话框中,选择你要添加的多个文件或文件夹,点击OK确认
4提交目录abc的更改即可

TOP

回复 3# PCplayer 的帖子

我的目录如下:
e:\svn\com\xx
                    \yy
           \test

svn下两个project,com的authz文件内容一下:
[groups]
g_vip = admin,summer
g_manager = jane
g_coder=harry

[/]
* = r
@g_manager = rw
@g_vip = r

[com:/]
* =
@g_manager = rw

[com:/xx]
* =
@g_vip = r
@g_coder = rw
@g_manager = rw

[com:/yy]
* =
@g_manager = wr
@g_coder = rw

之前check in了一个yy文件夹,里面有一个"新建文档.doc",然后我想在yy目录下新添加三个java文件,并添加一个新的目录ww,以及ww目录下的b。txt文件

按照pcplayer的办法,得到如下报错

[ 本帖最后由 summer 于 2008-9-10 15:29 编辑 ]

附件

svnerror2.JPG (85.36 KB)

08-9-10 15:29

svnerror2.JPG

TOP

回复 2# 郑新星 的帖子

在dos下,cd到需要commit的文件所在的目录,然后svn add * --force

add完成后,在回到文件夹,右键--tortoiseSVN--SVN commit 就ok了。

我想这个大概在使用说明里面会看的见吧,我今天开始没有办法在已经存在的文件夹中添加新文件,后来找到这个文档,然后使用了你们两位提供的办法,呵呵,现在终于好了。

你们编辑的“ Subversion简单常用问题解决方案列表” 这个帖子真好啊,谢谢了!!

TOP

A、先把需要提交的代码目录全部检出到本地,(如果仅是在一个目录下添加一个子目话,可以只检顶层目录)
B、把要提交的私有文件拷贝到工作拷贝目录下相关位置
C、搜索TSVN忽略的类型文件,如*.o(如果有最好手工ADD)
D、到工作拷贝上目录的顶层,直接执行COMMIT提交命令,在弹出的对话框中,选择包括私有文件选项。TSVN会自动搜索你新增的私有文件。确认后就提交吧(如果文件数量超过200个,建议还是ADD+COMMIT)

TOP

发新话题
订阅 我用Subversion - SVN中文论坛 邮件列表:iUseSVN@googlegroups.com
电子邮件:
网站重要事项将会在这个列表进行通知,点击这里浏览存于列表中的所有邮件