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

Ste*_*eam 3 svn windows version-control

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

我正在使用Eric Sink的" Version by Example by Example"这本书,并希望能够从一台计算机(最好是Windows)中完成第17页到第20页的所有内容(尽管如果需要,我也可以使用Linux).

编辑 - 我将在问题正下方的评论中添加更新我的后续问题.我希望这将使其他读者准备好正确设置所有内容以使用本书.

我的2美分.

Dav*_* W. 8

整件事听起来过于复杂.这是一个简单的方法:

  1. 使用svnadmin create创建一个仓库.
  2. 进入repo的conf文件夹.你会看到一个passwd和一个svnserve.conf文件.
  3. svnserve.conf文件中.寻找线# password-db = passwd并移除#前面的线.这是我的回购中的第27行.
  4. 打开passwd文件,然后创建多个登录.他们向你展示了两个例子,莎莉哈里.格式是<user> = <password>.
  5. 保存文件,然后转到存储库的父目录.
  6. 运行svnserve -r <repoName>命令.不要关闭此窗口.而是打开另一个控制台窗口以运行下面的其他命令.
  7. 进入另一个目录,并使用svn://协议进行结账.执行结帐时添加--username--password参数.这将检查您指定的用户的回购.
  8. 进入另一个目录并使用svn://协议进行另一个结账,--username--password指向另一个用户.

每个工作目录对于这两个用户都是默认的.重要的是不要file:///用作协议.用途svn://:

C:> svn co --username harry --password harrysecret svn://localhost
Run Code Online (Sandbox Code Playgroud)

默认情况下,提交将是执行结帐的用户.你做的第一次结账将是回购的根源.你应该在增加trunk,branchestags目录,以模拟实际的Subversion版本库结构.

file:///如果您不想运行服务器,则该协议用于基本测试.它永远不应该由多个用户使用,并且您永远不应该使用它运行真正的存储库.(它主要用于基于Web的存储库浏览器,如[ViewVC](http://www.viewvc.org,因为file:///它非常快.)真的很少需要,file:///因为svnserve它很容易启动和运行. ,你甚至可以使它成为Windows服务.


遵循书中的练习

我加了一笔赏金.这是书 - ericsink.com/vcbe/vcbe_a4_lo.pdf.我希望能够从一台计算机(最好是Windows)执行第17页到第20页的所有操作.如果需要,我也有linux

这本书对你正在使用的计算机做了一些假设(看起来像一台Mac),当它从Harry切换到Sally并返回时,它有点令人困惑.当你我们将通过一个控制台窗口,简化这种萨利和一个当你是哈利.

你需要一个好的Windows文本编辑器.不要用记事本!! .记事本不是编程编辑器.获取Notepad ++.它以GUI为导向,简单但功能强大.它也是开源和免费的.

下面我列出了本书中的说明与您在Windows框中执行的操作之间的差异.我假设您在Windows机器上具有管理员访问权限.

第15页

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

C:\> mkdir repos
C:\> cd repos
C:\repos> svnadmin create lottery
C:\repos> cd lottery\conf
C:\repos\lottery\conf> notepad++ svnserver.conf
Run Code Online (Sandbox Code Playgroud)

您将找到设置密码数据库设置位置的行.它是我的存储库中的第27行.你会看到的#.从线上删除它.该#出的行注释.您希望该行读取password-db = passwd.然后保存文件.这告诉Subversion服务器进程该文件passwd将包含存储库的用户和密码.

现在编辑passwd文件notepad++.你希望它看起来像这样:

### 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
Run Code Online (Sandbox Code Playgroud)

我所做的就是#从两个示例用户中删除评论标志().保存passwd文件.您的存储库有两个允许提交和进行更改的用户.Sally的密码是sallysecret,Harry的密码是harrysecret.

您目前在目录中C:\repos\lottery\conf.让我们开始回购:

C:\repos\lottery\conf> cd C:\>
C:\> svnserve -d --root=repos
Run Code Online (Sandbox Code Playgroud)

第16页:

在同一台机器上,去做一个名为的目录C:\workdirs.这是我们制作Harry's和Sally工作目录的地方.为此打开另一个控制台窗口.这个控制台窗口将用于Harry的工作:

C:\> cd \
C:\> mkdir workdirs
C:\> cd workdirs
C:\workdirs> mkdir harry
Run Code Online (Sandbox Code Playgroud)

现在,做哈利的结账:

C:\workdirs> cd harry
C:\workdirs\harry> svn co --username harry --password harrysecret svn://localhost/lottery
Run Code Online (Sandbox Code Playgroud)

系统可能会询问您是否要将密码存储在客户端配置中,并警告它们将以明文形式存储.来吧,yes对这些问题说.这样,您不必每次都输入密码.

现在进入Harry的工作目录

C:\workdirs\harry> cd lottery
Run Code Online (Sandbox Code Playgroud)

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

不要触摸.svn目录!这会将信息存储在您的工作副本中:谁签出了它.什么仓库.什么版本等

在第17页底部的第3章中,您应该能够完成所有工作:

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

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

  1. 这是svnserve正在运行的过程.关闭此窗口将关闭svnserve.你可以减少这个.
  2. 这是哈利的工作副本.
  3. 这将是莎莉的工作副本.

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

C:\> cd \workdirs
C:\workdirs> mkdir sally
C:\workddirs> cd sally

C:\workdirs\sally> svn co --username sally svn://localhost/lottery
password: •••••••
Run Code Online (Sandbox Code Playgroud)

因为您没有使用该--password参数,所以要求您提供Sally的密码.同样,如果你问有关存储密码,继续前进,说现在.这样,您就不必继续输入Sally的密码.

最后:

C:\ workdirs\sally> cd彩票

这是Sally的工作目录.

当我们切换回Harry的工作副本时,你可以使用Sally的窗口.

从现在开始,如果你正在使用Harry的工作副本,只需切换到Harry的窗口即可.如果您是Sally,请切换到Sally的窗口.其他一切都应该没问题,只需按照示例进行操作即可.