在windows计算机上模拟多个SVN用户



如何在Windows计算机上模拟多个SVN用户来学习SVN?

我正在使用Eric Sink的《示例版本控制》一书,希望能够在一台计算机上完成从第17页到第20页的所有内容,最好是Windows(尽管如果需要,我也有Linux)。

编辑-我将在问题下方的评论中添加更新我的后续问题。我希望这将为其他读者做好准备,让他们正确设置使用这本书的一切。

我的2美分。

整件事听起来过于复杂。这里有一个简单的方法:
  1. 使用svnadmin create创建存储库
  2. 进入回购的conf文件夹。您将看到一个passwd和一个svnserve.conf文件
  3. svnserve.conf文件中。查找线路# password-db = passwd,然后拆下前面的#。这是我回购的第27行
  4. 打开passwd文件,然后创建多个登录。他们向您展示了两个例子,sallyharry。格式为<user> = <password>
  5. 保存文件,然后转到存储库的父目录
  6. 运行svnserve -r <repoName>命令。不要关闭此窗口。而是打开另一个控制台窗口来运行下面的其他命令
  7. 进入另一个目录,使用svn://协议进行签出。签出时添加--username--password参数。这将签出repo给您命名的用户
  8. 进入另一个目录,使用svn://协议进行另一次签出,--username--password指向另一个用户

这两个用户的每个工作目录都将是默认目录。重要的是不要使用file:///作为协议。使用svn://:

C:> svn co --username harry --password harrysecret svn://localhost

默认情况下,提交将由执行签出的用户执行。你所做的第一次结账将是回购的根源。您应该在trunkbranchestags目录中添加,以模拟实际的Subversion存储库结构。

如果您不想运行服务器,file:///协议用于基本测试。它不应该被多个用户使用,也不应该使用它运行真正的存储库(http://www.viewvc.org因为CCD_ 23非常快。)对file:///的需求真的很小,因为svnserve很容易启动和运行。而且,您甚至可以将其作为Windows服务。


遵循书中的练习

我添加了一个赏金。这是一本书-ericsink.com/vcbe/vcbe_a4_lo.pdf。我希望能够在一台电脑上完成从第17页到第20页的所有内容,最好是在windows上。如果需要,我也有linux

这本书对你正在使用的电脑做出了一些假设(看起来像Mac),当它从哈利切换到莎莉再切换时,有点令人困惑。当您是Sally时,我们将使用一个控制台窗口,当您是Harry的时候,我们将通过使用一个来简化这一点。

你需要一个好的Windows文本编辑器请勿使用记事本。记事本不是一个编程编辑器。获取记事本++。它面向GUI,简单但功能强大。它也是开源和免费的。

下面我列出了书中的说明与你在Windows盒子上的操作之间的差异。我假设您对Windows盒子有管理员访问权限。

第15页

在Windows计算机上创建存储库。我们将在C:\repos\彩票>:下创建回购

C:> mkdir repos
C:> cd repos
C:repos> svnadmin create lottery
C:repos> cd lotteryconf
C:reposlotteryconf> notepad++ svnserver.conf

您将找到设置密码数据库的行。这是我存储库中的第27行。您将看到#。将其从管路上拆下。#评论了这句话。您希望该行读取password-db = passwd。然后保存文件。这告诉Subversion服务器进程,文件passwd将包含存储库的用户和密码。

现在用notepad++编辑passwd文件。你想让它看起来像这样:

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
harry = harryssecret
sally = sallyssecret

我所做的只是从两个示例用户中删除注释符号(#)。保存passwd文件。您的存储库有两个允许提交和进行更改的用户。莎莉的密码是sallysecret,哈利的密码是harrysecret。

您当前位于目录C:reposlotteryconf中。让我们启动回购:

C:reposlotteryconf> cd C:>
C:> svnserve -d --root=repos

第16页:

在同一台机器上,创建一个名为C:workdirs的目录。这是我们制作哈利和莎莉工作目录的地方。为此打开另一个控制台窗口。这个控制台窗口将用于哈利的工作:

C:> cd 
C:> mkdir workdirs
C:> cd workdirs
C:workdirs> mkdir harry

现在,做哈利的结账:

C:workdirs> cd harry
C:workdirsharry> svn co --username harry --password harrysecret svn://localhost/lottery

您可能会被问到是否要将密码存储在客户端配置中,并警告它们将以明文形式存储。继续对这些问题说yes。这样,您就不必每次都输入密码。

现在进入哈利的工作目录

C:workdirsharry> cd lottery

你现在在哈利的工作目录里。

请勿触摸.svn目录!这将存储工作副本上的信息:谁签出了它。什么存储库。什么版本等

你应该能够做任何事情,直到你进入第17页底部的第3章:

现在,创建Sally的工作目录:

打开另一个控制台窗口。您现在有三个控制台窗口打开:

  1. 这是正在运行的svnserve进程。关闭此窗口将关闭svnserve。你可以尽量减少这种情况
  2. 这是哈利的作品
  3. 这将是萨利的工作副本

将所有内容都保存在单独的控制台窗口中更容易。事实上,你可以更改窗口配色方案,帮助你快速识别你所在的窗口。创建Sally的工作副本:

C:> cd workdirs
C:workdirs> mkdir sally
C:workddirs> cd sally
C:workdirssally> svn co --username sally svn://localhost/lottery
password: •••••••

因为您没有使用--password参数,所以会要求您输入Sally的密码。同样,如果你被问及存储密码的问题,请继续说。这样,你就不必一直输入萨利的密码了。

最后:

C: \workdirs\sally>cd彩票

这是莎莉的工作目录。

当我们切换回哈利的工作副本时,你应该可以使用Sally的Window到第19页。

从现在起,如果你正在使用哈利的工作副本,只需切换到哈利的窗口即可。如果你是以萨利的身份工作,请切换到萨利的窗口。其他一切都应该很好,只是一直遵循这些例子。

如果你想模拟多个用户在同一个项目上工作,那么你可以设置一个Subversion+Apache HTTP Server包(VisualSVN Server,SVN Edge),然后在不同用户下使用多个工作副本来"工作"项目。

实际上,我看不出你的教学有任何实际或学习价值。

最新更新