使用Subversion存储库时,远程更改(存储库上的更改)是传入更改(远程→ 本地),而本地更改是传出更改(本地→ 远程)。
在比较本地副本和远程副本的视图中,传入更改用蓝色左箭头表示,而传出更改用灰色右箭头表示。这些箭头可以被修饰以指示更具体的操作。
另一方面,包资源管理器视图用一组不同的图标表示文件的本地状态,从而指示文件的状态。这些图标是最常见的图标,所以让我们从它们开始:
- A file ignored by version control. You can control what resources will be ignored by going to Window → Preferences → Team → Ignored Resources.
- A file not under version control. These are typically new files that you have not committed to the repository yet.
- A versioned file that needs to be added to the remote repository. These are typically files you have either renamed, or moved to a different directory.
- A deleted folder. These are folders that you have deleted locally without yet committing the changes to the repository. Note that files are usually removed from the view when they re deleted locally, so they are normally not seen with this icon.
- A file with no local changes.
- A file with local, uncommitted changes.
- A locked file.
- A file that needs a lock to be edited. These are typically files that cannot easily be merged (i.e. binary files), but may have many editors. A file needs a lock when its svn:needs-lock
property is set, and Subversion will attempt to make these files read-only in the file system to enforce proper lock negotation.
- A conflicted file. These are typically files that had a commit/update conflict that you marked to resolve later.
- A file that has a tree conflict. These are typically files that have local changes, but have since been moved, removed, or renamed in the repository since the last local copy update.
- A file that is external to the project. Linked external files cannot be committed to the repository.
- A file that has been switched. These are files which belongs to a different working copy than their local parent directory.
在同步视图中(例如,通过与存储库同步或提交),如前所述,有一些图标指示更改发生的方向以及有关该更改的其他信息。这些描述如下:
Outgoing
- A file whose contents have been modified and will be committed to the repository.
- A file that will be newly added to the repository. This may coincide with a file removal in cases where a file is moved or renamed..
- A file that will be removed from the repository. This may coincide with a file addition in cases where a file is moved or renamed.
- A file with property changes, in the Commit dialog. On the Synchronize tab, property changes are currently reflected as a normal file modification ().
Incoming
- A file that has content changes committed to the repository that will be applied to the local copy.
- A new file that will be added to the local copy from the repository. Like the outgoing file addition, this may be the result of a move or rename.
- A file that will be removed from the local copy because it has been removed from the repository. Like the outgoing file removal, this may be the result of a move or rename.
Conflict
- A file that has been changed in both the local copy and repository independently, causing a need for conflict resolution. Fixing this condition involves opening up the conflict view or forcibly overwriting changes locally or remotely.
- A file that has a tree conflict. This can occur when there are new changes to a file on one end (either local or remote), and the file is moved, removed, or renamed on the other.
最后,与存储库同步选项打开“同步”选项卡(),并使用以下按钮:
- Synchronizes the local copy with the currently selected repository when clicked. Selecting from the drop-down allows switching between different remote code bases.
- Shows only incoming changes (remote → local).
- Shows only outgoing changes (local → remote).
- Shows both incoming and outgoing changes (remote ↔ local).
- Shows conflicting changes.
- Updates all local resources with incoming changes after prompt.
- Brings up the commit dialog to commit all outgoing changes.
- Breaks up the change lists by revisions.
还有一些其他视图没有包含额外的图标,但这应该是一个良好的开端。如果有什么重要的东西遗漏了,或者这些描述中的任何一个似乎与你的实际经历不同,请告诉我。