使用VSS 的Shadow folder的一点问题

使用VSS 的Shadow folder的一点问题

VSS不是什么好东西,一般用cvs或svn都比它舒服,但这回的Project是一个web project,要求所作的最新修改在server端都能马上体现出来。VSS有一个Shadow Folder功能,可以让最新的修改相当于马上check out到Shadow Folder所指定的folder上,再把IIS的主目录指向与Shadow Folder相同的folder,那么所作的修改立即就能在browser里看到。
但产生了一个极其让人困惑的问题,Shadow Folder如何指定?以何种格式指定?
一开始,我并没有意识到VSS只是一个单机的应用程序,不存在client/server的模式,而仅仅在server端用Vss Administrator指定了一个Physical Path,像F:\Project\httproot这样,但我发现除了用Server端VSS check in的更改可以立即体现在Shadow Folder中之外,其他所有在局域网中联到VSS DataBase的VSS统统只能check in在database里,而shadow folder中没有体现更改。(后来发现都shadow到各自本地计算机的F:\Project\httproot中了)
在意识到这个问题后,用了一个变通的办法,将httproot共享在局域网中,将database设定中的shadow folder设置成一个UNC Path格式,\\servername\httproot 这样,这回终于可以了,所有人都能够正常地check in到database中并自动更新shadow folder,这时共享的权限设置为everyone 的完全控制,每个人在连接到server时也没有用用户名/密码登陆,这当然不可以,必须得加个用户设上密码吧,于是问题出现了。当我设置完权限后,除了server,所有的人又不能正常check in了,即使使用设置的用户登陆后,能够随意操作共享的folder和其中的file。VSS只是在check in的时候不停地提示inviald handler,彻底搞不定,无论怎样设权限都没有用,除非其他机器不是用用户名/密码登陆。
在无数次的郁闷失败后,在网上似乎有那里说过一个VSS用映射驱动器的,于是立马来了灵感,让每个人都把 \\servername\httproot 映射成驱动器x:,随后server端也一样设,把shadow folder指向x:\,加完权限后终于搞定^_^,不再提示出错了,每个人的check in都正常,shadow folder工作正常。
非常奇怪VSS为什么不能把shadow folder设置成 UNC Path呢?

评论  
可以使用UNC Path,不过使用UNC Path的前提是能自动登录,也就是记忆密码或在服务器上存在同名同密码账户,不会提示你要密码的。
Shadow目录写入和VSS目录写入都是VSS Client完成的。
posted on 2007-10-18 23:18  IMustDo  阅读(935)  评论(0编辑  收藏  举报