What do the arrow icons in Subclipse mean?
Asked Answered
B

1

112

What do the icons in the following screen capture mean? The icons are from Subclipse, an SVN plugin for Eclipse.

outgoing

I'm not asking about the base file icons, I know those (HTML file and Java source file). I'm asking about the right-pointing dark gray arrows, which are labeled "outgoing." What does that imply? Outgoing from the IDE to the repo, or outgoing from the repo to the IDE? Why are there minus signs inside the arrows? Sometimes, I see plus signs instead; other times, just empty arrows. What's the difference?

There are also left-pointing blue arrows and double-headed red arrows; what do those mean? What about cases when they contain other symbols, like - and +?

Note: This question has been edited pretty drastically. Normally I wouldn't change so much, but it had nearly no activity and was a dupe. The original question asked for an "icon glossary" that would explain all or most of Subclipse's icons, similar to this one for Eclipse. I'd still love to know about one of those, but there just doesn't seem to be one out there.

Brethren answered 12/10, 2010 at 18:43 Comment(3)
It turns out that the icons I'm asking about are more properly known as icon decorators.Brethren
@Tim Stone provided an excellent answer below. You can also find a very useful Subclipse icon key here. I use it all the time.Chockablock
minus sign stands for file removal, plus sign means adding a new file. Eclipse themselves calls these little add-on icons 'adornments' apparently: help.eclipse.org/juno/index.jsp?topic=/org.eclipse.jdt.doc.user/… The fact that not all of the icons are documented is addressed in a bug report: bugs.eclipse.org/bugs/show_bug.cgi?id=348154Executioner
S
381

When working with the Subversion repository, remote changes (those on the repository) are incoming changes (remote → local), while local changes are outgoing changes (local → remote).

In views that compare the local and remote copies, incoming changes are denoted with a blue, left-facing arrow, while outgoing changes are denoted with a gray, right-facing arrow. These arrows may be decorated to indicate more specific operations.

The Package Explorer view, on the other hand, indicates a file's status with a different set of icons representing its local state. These icons are the ones most commonly seen, so let's start with them:

Ignored File - A file ignored by version control. You can control what resources will be ignored by going to Window → Preferences → Team → Ignored Resources.
Unversioned File - A file not under version control. These are typically new files that you have not committed to the repository yet.
New File - 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.
Deleted File - 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.
Synchronized File - A file with no local changes.
Local Changes - A file with local, uncommitted changes.
Locked File - A locked file.
Needs Lock - 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.
Conflicted File - A conflicted file. These are typically files that had a commit/update conflict that you marked to resolve later.
Tree Conflicted File - 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.
External File - A file that is external to the project. Linked external files cannot be committed to the repository.
Switched File Switched File 2 - A file that has been switched. These are files which belongs to a different working copy than their local parent directory.

In a synchronization view (e.g. via Synchronize with Repository or Commit), as previously described, there are icons which indicate which direction a change is occurring in as well as additional information about that change. These are described below:

Outgoing
Commit Changes - A file whose contents have been modified and will be committed to the repository.
Commit Addition - 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..
Commit Removal - 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.
Property Change - A file with property changes, in the Commit dialog. On the Synchronize tab, property changes are currently reflected as a normal file modification (Commit Changes).

Incoming
Remote Changes - A file that has content changes committed to the repository that will be applied to the local copy.
Pull Addition - 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.
Pull Removal - 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
Conflicting Versions - 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.
Synchronization Tree Conflict - 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.

Finally, the Synchronize with Repository option opens the Synchronize tab (Synchronize Tab) with the following buttons:

Synchronize Source - Synchronizes the local copy with the currently selected repository when clicked. Selecting from the drop-down allows switching between different remote code bases.
Show Incoming - Shows only incoming changes (remote → local).
Show Outgoing - Shows only outgoing changes (local → remote).
Show Incoming and Outgoing - Shows both incoming and outgoing changes (remote ↔ local).
Show Conflicts - Shows conflicting changes.
Update Incoming - Updates all local resources with incoming changes after prompt.
Commit Outgoing - Brings up the commit dialog to commit all outgoing changes.
Show Changesets - Breaks up the change lists by revisions.

There are a few other views which weren't covered that have additional icons, but this should hopefully be a good start. Let me know if there is anything important missing, or any of these descriptions seem to differ from your actual experience.

Spectroscopy answered 13/10, 2010 at 1:37 Comment(11)
Wow, I don't think I could've asked for a better answer. Thanks!Brethren
One more icon: #1428998Brethren
Ha, that last link has even been duped: #2017683Brethren
Thank you for this extremely helpful answer. May I ask that you also include icons that appear in the Synchronize view?Spar
@Spar Hmm, are there additional icons beyond those covered in the second half of the answer? I'll see if I can find the ones you're referring to to add them.Spectroscopy
Impressive answer. Thanks. But can these imo ugly icons be changed? I'd prefer red/green color to point out more clearly what's changed and what's not.Barite
Finally, the Rosetta Stone for subclipse hieroglyphs has been found!Feinleib
This is great! I found your answer very useful but I think you missed this one https://mcmap.net/q/111924/-red-arrow-icon-in-subclipseRichela
Is there a similar list or subversive?Paley
The reference by @Richela is for subversive, not subclipse even though the title of the post indicates subclipse. Be careful as the 2 products have some similarities, but behave differently.Lonna
What does right facing arrow (with or without a + in it) with an underscore P mean?Kyongkyoto

© 2022 - 2024 — McMap. All rights reserved.