当你在你的工作副本上工作时,你时常需要知道哪些文件你已经修改/增加/删除或改名了,或者甚至是哪个文件已经被其他人修改并提交了。
现在你已经从 Subversion 版本库中检出了一份工作副本,你可以在资源管理器中看一下这些文件的图标有什么变化。这也正是 TortoiseSVN 这么流行的原因之一。TortoiseSVN 加入了被称为重载图标的功能重载了原始的文件图标。根据文件的 Subversion 状态的不同,重载的图标也不同。
一个新检出的工作副本使用绿色的对勾做重载。表示 Subversion 状态正常.
在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。
如果在更新的过程中出现了冲突,图标会变成黄色感叹号。
如果你给一个文件设置了svn:needs-lock
属性,Subversion 会让此文件只读,直到你获得文件锁。具有这个重载图标的文件来表示你必须在编辑之前先得到锁。
如果你拥有了一个文件的锁,并且 Subversion 状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本控制中删除,或是该文件夹下某个受版本控制的文件丢失了。
加号告诉你有一个文件或目录已经被调度加入版本控制。
The bar sign tells you that a file or folder is ignored for version control purposes. This overlay is optional.
This icon shows files and folders which are not under version control, but have not been ignored. This overlay is optional.
In fact, you may find that not all of these icons are used on your system. This is because the number of overlays allowed by Windows is very limited and if you are also using an old version of TortoiseCVS, then there are not enough overlay slots available. TortoiseSVN tries to be a “Good Citizen (TM)” and limits its use of overlays to give other apps a chance too.
Now that there are more Tortoise clients around (TortoiseCVS, TortoiseHG, ...) the icon limit becomes a real problem. To work around this, the TortoiseSVN project introduced a common shared icon set, loaded as a DLL, which can be used by all Tortoise clients. Check with your client provider to see if this has been integrated yet :-)
要获得图表重载与 Subversion 状态的对应关系,或者其它技术细节,请阅读“图标重载”一节。
在Windows资源管理器的详细信息视图中,附加列中可以显示与图标重载所表达相同的信息(还可以显示更多其他信息)。
Simply right click on one of the headings of a column, choose Detailed View”. Scroll down until the entries starting with SVN come into view. Check the ones you would like to have displayed and close the dialog by pressing . The columns will be appended to the right of those currently displayed. You can reorder them by drag and drop, or resize them, so that they fit your needs.
from the context menu displayed. A dialog will appear where you can specify the columns and their order, which is displayed in the “The additional columns in the Windows Explorer are not available on Vista, since Microsoft decided to not allow such columns for all files anymore but only for specific file types.
如果你想要当前的布局对你所有的工作副本都有效,你可以考虑把它设成默认视图。
通常知道你修改了哪些文件以及哪些文件已经由另人修改并提交了是很有用的。这就是命令 → 的用武之地了。这个对话框显示了所有你的工作副本中进行了任何形式的修改的的文件,也包括了当前存在的未受控的文件。
如果你点击
,那你还可以看到版本库里的改动。这样,你就可以在提交之前检查是否有存在冲突的可能。你也可以从版本库中更新选中的文件而用不着更新整个文件夹。对话框使用颜色代码来高亮显示状态。
本地被修改过的项
增加的项。那些被加入的项在文本状态列中有个+
号表示,工具提示(tooltip shows)显示了该项是从哪里复制来的。 where the item was copied from.
删除的或是丢失的项。
在本地和版本库中都有被修改过的项。改动将在更新的时候被合并。这种情况很可能在更新的时候产生冲突。
在本地被修改过但在版本库中已经被删除的项,或者在版本库中被修改但在本地被删除的项。这种情况必将在更新时产生冲突。
未修改和未受控的项。
这是默认的配色方案,但你可以通过设置对话框来定制这些颜色。参考“TortoiseSVN 颜色设置”一节获得详情。
那些被切换(switched)到不同版本库路径的项也用(s)
标记来表示。当工作在分支上的时候你可能切换到某处,然后忘记切换回主干。这是你的警告信号!
在对话框的上下文菜单中你可以显示改变的差异。使用 你所作的本地修改。使用 → 检查版本库中别人作的修改。
→ 检查You can also revert changes in individual files. If you have deleted a file accidentally, it will show up as Missing and you can use Revert to recover it.
可以使用删除时,请按着Shift键。
→ 将未版本控制的或忽略的文件丢到垃圾箱。如果你想彻底删除(不使用垃圾箱),在点击如果你要查询一个文件的详细情况,你可以把它从这里拖到另一个应用程序,比如一个文本编辑器或是IDE中。
这些列是可定制的。如果你右击任何一列的头部,你就会看到一个上下文菜单,允许你选择哪一列要显示。还可以在鼠标移动到列边界时通过拖动把手来改变列的宽度。这些定制的内容都会被保留下来,下一次你会见到相同的头部。
如果你同时做几个不相关的任务,也可以在修改列表中分组文件。阅读“修改列表”一节以获得更多信息。
At the bottom of the dialog you can see a summary of the range of repository revisions in use in your working copy. These are the commit revisions, not the update revisions; they represent the range of revisions where these files were last committed, not the revisions to which they have been updated. Note that the revision range shown applies only to the items displayed, not to the entire working copy. If you want to see that information for the whole working copy you must check the Show unmodified files checkbox.
如果你需要工作目录的全面视图,也就是所有文件和文件夹都同时显示,以便方便的使用检查修改对话框。只要选择现实未修改文件检查栏,显示工作目录中的所有文件即可。
有时候文件不是用Subversion改名,于是它们在文件列表中作为丢失和未版本控制的文件出现。为了避免丢失历史,你需要通知Subversion。简单的选择老名称(丢失)和新名称(未版本控制),然后使用
→ 来指明这两个文件是改名关系。