The Team Repository View
The team repository view supplants most of the Subversion status operations we looked at earlier in the chapter. It shows how the repository is different from your working copy, and how your working copy is different from the repository. It can combine those views showing all changes, or it can show only files with conflicts. It can show the aggregate changes, or it can break the differences down by revision.
Open the repository view by choosing the menu item Window > Open View > Other. This will bring up the window shown in Figure 3-10.
Figure 3-10. Selecting a view
Select Team > Synchronize from the menu and click OK. This takes you back to the workbench, where you'll see Synchronize in the bottom pane, as in Figure 3-11. It's blocking the Console view. You can toggle back and forth between the two by clicking the tabs, but for the upcoming examples, you'll want to see both views simultaneously. Fortunately, all views in Eclipse can be moved.
- Figure 3-11. The newly opened Synchronize view
You manipulate views by grabbing their named tabs and dragging them to a desired location. As you do this, a bounding box will show where the view will be repositioned. The other panes in the workbench will be resized to accommodate the change. If you drag it into a list of other tabs, it will join the set. If you drag a view onto the desktop, it will become a free-floating window.
You're going to split the lower view in two. Grab the Synchronize tab and drag it all the way to the right edge. At some point, the display will show a box that splits the pane in two, and the cursor will turn into an arrow pointing to the right. Let go of the tab at that point, and you should have two panes, as shown in Figure 3-12.
- Figure 3-12. Now the views are side by side.
You can further adjust the proportions by grabbing the divider between the two views and dragging it left or right. You can adjust the height of both sets of views by grabbing the upper dividing bar and moving it up or down.
Notice the three colored arrows at the bottom of the screen. These only show up when the Synchronize view is active. They relate to the number of changes that have been made since the last update. The number beside the blue arrow indicates changes that have been made in the repository. The number beside the gray arrow indicates changes in your working copy. The number beside the red arrow indicates the number of places in which conflicting changes exist in both the repository and your local working copy.
The view's main area contains a tree browser showing the outstanding changes, as shown in Figure 3-13.
|
"go Synchronize S3' CÎ ! 0 0 B ■ i i *0:ffi # |
3 |
|
5VN (/agile) | |
|
agile | |
|
'-C^ src/examples 14 (jeff) | |
|
common.py 12 [Jeff] | |
|
shared.py 14 [jeff] | |
|
'{jfr src/examples/greetings | |
|
HL*__init__.py 3 [jeff] | |
|
^<► standardly 13 [jeff) | |
Figure 3-13. The Synchronize view with outstanding changes
Double-clicking a file node will bring up a diff viewer among the editor windows. The viewer shows the differences between your local copy and the repository copy. Along the top side of the bar there are a number of icons. I'll run through them from left to right:
Workbench-between-repository: This icon is entitled Synchronize SVN (/agile). When clicked, it updates the view with the most recent information from both the local working copy and the repository. The first time you do this, it also asks if you want to open the Team Synchronizing perspective. You'll be using the Synchronize view within the Pydev view, so choose No. Make sure to choose "Remember my decision" so that you won't be asked this every time you want to see what has changed. You can always open the Team Synchronizing perspective manually.
Pushpin: When active, this icon pins the window in place. Pinning is a generic Eclipse feature. Normally, a view with new information spontaneously pops to the front. Pinned views stay on top even if other views have new information.
Down arrow: This icon advances to the next displayed change. When it advances, it opens up a diff view among the editors. This view shows two versions of a file side by side. The differences between the two files are highlighted with bounding boxes. We'll look at the diff view when we get to merging later in this chapter.
Up arrow: This icon advances to the previous displayed change. Other than that, it works the same as the down arrow.
Boxed minus: This collapses all of the tree nodes in the main area of the view.
Boxed plus: This expands all of the tree nodes in the main area of the view.
Left arrow pointing to a workbench glyph: This limits the main area to new changes in the repository. When selected, the main area shows the changes that have been committed to the repository but have not been updated into the local copy. These are referred to as incoming changes.
Right arrow pointing to a repository glyph: This limits the main area to changes on the local copy. When selected, the main area shows only those changes that have been made locally but have not been committed to the repository.
Left and right arrows over workbench and repository glyphs: This icon shows all the changes that must be made. This includes both incoming changes from the repository and uncommitted local changes.
Double-ended red arrow: This indicates that you want to limit the view to files with conflicts.
Green arrow pointing away from a repository glyph: This pulls down all incoming changes.
Red arrow pointing into a repository glyph: This triggers a commit of all outstanding changes in the local copy.
Delta over a list: This alters the presentation of the view. Normally, all incoming changes are bundled together into one list. When this icon is active, the view is organized by revision number.
Upside-down white triangle: This is a standard Eclipse icon. It indicates that this view has a menu. You select the menu by clicking the icon. The menu contains a number of selections, but the two most interesting are Presentation and Schedule. Presentation allows you to select the format in which changes are presented (the default is compressed tree format). Schedule allows you to select how frequently Subversive will update the view. The default is to never update automatically. I use the Schedule option to update several times an hour for local projects and once a day for remote public projects.
Post a comment