我发现了很多关于如何更改特定修订的用户名的例子等等。SVN更改用户名
但我需要的是这样的: 我做了结帐与同事的认证证书,并需要为未来的承诺将其更改为我的凭据。
我不能用我的凭据结帐由于已经已经做了很多的变化...
任何人都熟悉这个?
我发现了很多关于如何更改特定修订的用户名的例子等等。SVN更改用户名
但我需要的是这样的: 我做了结帐与同事的认证证书,并需要为未来的承诺将其更改为我的凭据。
我不能用我的凭据结帐由于已经已经做了很多的变化...
任何人都熟悉这个?
您可以
颠覆1.6更改用户和更早版本:
svn switch --relocate protocol://[email protected]/path protocol://[email protected]/path
颠覆1.7及更高版本:
svn relocate protocol://[email protected]/path protocol://[email protected]/path
要找出protocol://[email protected]/path
是,r联合国
svn info
在你的工作拷贝
。
我相信你可以从你的同事的分支创建你自己的分支(使用你自己的凭证),从你的同事的分支合并到你的工作副本,然后从你的分支合并。所有将来的提交都应该标记为来自你。
您可以要求您的同事创建一个补丁程序,该补丁程序会将所有已做成单个文件的更改合并到您自己的签出文件中。这将更新所有的文件适当的,然后你可以恢复在他身边的变化,并检查你的
我有完全相同的问题,发现Where does SVN client store user authentication data?解决方案:
cd
到~/.subversion/auth/
。fgrep -l <yourworkmatesusernameORtheserverurl> */*
。(对于Windows,步骤是类似的; auth
目录在%APPDATA%\Subversion\
)。
请注意,这仅适用于SVN访问方案,其中用户名是服务器登录的一部分,因此对于使用file://
访问的存储库是没有用的。
最简单的方法是简单地在下次结账或提交时使用--username选项。例如:
svn commit --username newUser
或
svn co --username newUser
然后它将被缓存和将被用作未来命令默认用户名。
+1一个简单的解决方案 –
我这样做,然后'SVN info',我看到在'Author'线没有变化。 – vsync
从上面的链接:“当Subversion直接访问存储库关闭文件系统,它使用文件系统权限来访问存储库(当您通过SSH隧道连接,SVN使用服务器上的FS的权限,如确定。您的SSH登录名。)因此,svn checkout --username可能无法用于您的存储库。“ –
如果协议是HTTP和你使用Subversion 1.7,你可以通过简单地使用在任何命令全局--username选项随时切换用户。
当Ingo的方法不适用于我时,这是我发现的工作。
请提供示例代码 – vsync
此外,对于那些谁碰巧实现为时已晚,他们犯下了错误的凭据,该解决方案(事后)是改变该修订的SVN作者:看this question
基本语法:
svn propset --revprop -r (revision_number) svn:author (new username)
基于Ingo Kegel's solution我创建了一个“小” bash脚本更改用户名中的所有子文件夹。请记住:
<NEW_USERNAME>
到新的用户名。<OLD_USERNAME>
更改为当前用户名(如果您当前没有设置用户名,只需删除<OLD_USERNAME>@
)。在下面的代码中,svn命令只被打印出来(未执行)。要执行svn命令,只需删除前面的echo
和空白(仅在popd
之上)。
for d in */ ; \
do echo $d ; pushd $d ; \
url=$(svn info | grep "URL: svn") ; \
url=$(echo ${url#"URL: "}) ; \
newurl=$(echo $url | sed "s/svn+ssh:\/\/<OLD_USERNAME>@/svn+ssh:\/\/<NEW_USERNAME>@/") ; \
echo "Old url: "$url ; echo "New url: "$newurl ; \
echo svn relocate $url $newurl ; \
popd ; \
done
希望你觉得它有用!
转到Tortoise SVN --> Settings --> Saved Data
。
有一个选项可以清除认证数据,点击清除按钮,它将允许你选择你想要清除userid/pwd的连接。
当你这样做,任何结账或更新活动后,它将重新提交用户名和密码。
这很简单。您应该执行
svn up --username newUserName
就是这样。
为Win10,你应该删除此文件夹,并关闭/打开IDE
C:\用户\用户\应用程序数据\漫游\颠覆\权威性
,也是在我的项目没有“ .subversion“文件夹,只有”。SVN”
有趣的问题!似乎没有成为除的方式[清除所有存储的数据AUTH](http://blog.ansuz.nl/index.php/2008/10/13/tortoise- SVN-变化仓库的凭据/) –
@Pekka:好,回答这个问题并不只对TortoiseSVN,虽然 –