当我尝试执行任何svn命令并提供--username和/或--password选项时,它会提示我输入我的密码,并且总是会尝试使用我当前的用户而不是指定的用户--username.无论是--no-auth-cache也--non-interactive对此产生任何影响.这是一个问题,因为我试图从脚本调用svn命令,我不能让它显示提示.
例如,以user1身份登录:
# $ svn update --username 'user2' --password 'password'
# user1@domain.com's password:
Run Code Online (Sandbox Code Playgroud)
其他选项正常工作:
# $ svn --version --quiet
# 1.3.2
Run Code Online (Sandbox Code Playgroud)
为什么它会提示我?
为什么要求user1的密码而不是user2?
我99%确定我的所有权限都设置正确.svn是否有一些配置选项可以关闭命令行密码?
或者它完全是另一回事?
我在Fedora Core 5(波尔多)上运行svn 1.3.2(r19776).
这是我的环境变量列表(敏感信息X').它们似乎都不适用于SVN:
# HOSTNAME=XXXXXX
# TERM=xterm
# SHELL=/bin/sh
# HISTSIZE=1000
# KDE_NO_IPV6=1
# SSH_CLIENT=XXX.XXX.XXX.XXX XXXXX XX
# QTDIR=/usr/lib/qt-3.3
# QTINC=/usr/lib/qt-3.3/include
# SSH_TTY=/dev/pts/2
# USER=XXXXXX
# LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
# KDEDIR=/usr
# MAIL=/var/spool/mail/XXXXXX
# PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
# INPUTRC=/etc/inputrc
# PWD=/home/users/XXXXXX/my_repository
# KDE_IS_PRELINKED=1
# LANG=en_US.UTF-8
# SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass …Run Code Online (Sandbox Code Playgroud) 我已经同时使用了SVN和CVS,但需要为我将要开始的新项目选择一个.
任何广泛使用过的人都可以提供一些优点和缺点,他们认为哪个更好?最好的学习资源也将受到赞赏.
这将是一个小项目,只有一两个开发人员开始.
是否可以在一个客户端本地忽略对subversion中文件的更改,而不将ignore传播到整个存储库?
我正在处理的特殊问题是我检查了一个项目并修改了一堆文件,包括Makefile,它已经是存储库的一部分.现在,我正在处理的环境与组的其他部分不同,我希望Makefile的更改在我的机器上保持本地状态而不是提交.
但是,我不想设置svn:ignore,因为我相信会将忽略提交到存储库,而将make文件保存在那里很重要.
我是VSS用户,学习如何使用SVN,我选择了TortoiseSVN作为我的平台.有人能告诉我"HEAD Revision"这个词是什么意思吗?
我想在使用vcs或dvcs时学习其他人的工作流程.
请描述您处理以下任务的策略:
您可以随意组织您的答案,不按任务分组,但按照您认为相关的任何分组,但请通过VCS/DVCS进行组织(请不要混用它们).
谢谢.
情况 - 拥有庞大的存储库,缓慢且不可靠的链接(读取 - vpn不时中断).
我们经常进行分支,移动事物,所以应该从存储库(checkout)中不时地采用全新的分支.
有没有办法'恢复'破损的结账?svn checkout使用相同的参数是否安全,并期望它跳过下载的内容并下载不是的内容?
我的项目目前正在使用svn存储库,每天可以获得数百个新版本.存储库驻留在Win2k3服务器上,通过Apache/mod_dav_svn提供.
我现在担心,由于修改过多,性能会随着时间的推移而降低.
这种恐惧是否合理?
我们已经计划升级到1.5,因此从长远来看,在一个目录中拥有数千个文件不会成为问题.
Subversion存储了两个版本之间的增量(差异),因此这有助于节省大量空间,特别是如果您只提交代码(文本)而没有二进制文件(图像和文档).
这是否意味着为了检查文件foo.baz的修订版10,svn将采用修订版1然后应用增量2-10?
我希望听到一些最佳实践......
假设一个Web应用程序与几个不同的生产服务器(数据库等)交互......包含数据库密码的配置文件是否应该存储在源代码管理中(例如,git,svn)?
如果没有,跟踪应用程序需要访问的服务器数据库(或其他相关)密码的最佳方法是什么?
编辑:增加了赏金以鼓励更多讨论,并听取更多人认为最佳做法.
当我跑:
svn cleanup
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
svn: E200033: database is locked, executing statement 'RELEASE s0'
Run Code Online (Sandbox Code Playgroud)
或任何其他命令改变DB,例如commit,update等
这是在linux服务器上,目录是nfs.
我可以签出另一个版本并复制我的更改,但这是一个麻烦,我认为这个错误会回来.
我如何在工作目录上修复此问题,是否有办法防止它.
ps当前没有进程正在运行,也许eclipse在某个动作中间崩溃了.
svn ×10
git ×2
config ×1
cvs ×1
dvcs ×1
fsfs ×1
ignore ×1
mercurial ×1
passwords ×1
performance ×1
repository ×1
tortoisesvn ×1