Putting a Project under Perforce Control
When you create an Eclipse project, make sure that the directory where its files reside is under the client root of the Perforce workspace associated with the Perforce server you intend to use to manage the project. Important: Keep the Eclipse workspace and the Perforce client workspaces separate, and do not place the Eclipse metadata files under Perforce control.
To put a project under Perforce control:
- In the Java perspective's Package or Navigator pane, right-click the project and
choose Team>Share Project
The Share Project dialog
is displayed.
- From the Repository Type list, choose Perforce and click Next.
The Enter Perforce Server Connection Information dialog is displayed.
- Choose the connection for the Perforce server where you want the project to reside.
- Click Finish.
- In the Package or Navigator view, right-click the project folder and choose Team>Mark
for Add... In the Package Explorer view, the files to be added are (by default) decorated with red plus signs. In the Perforce perspective, the files are listed in the P4 Pending Changelists view.
- To move files to a different changelist, click . On the Change Specification form, check the files that you want the changelist to include and click OK.
- Click OK.
- To submit the changelist, right-click it in the P4 Pending Changelists
pane and choose Submit... The Perforce Change Specification
dialog is displayed.
- Enter a description and click OK. The project files are added to the depot
according to the settings you specified.
If you subsequently add files to the project, you must also add them to Perforce
as described above or using the line item created under the Infos heading in
the Problems View.
To add a file to the depot:
- Right-click the problem line item.
- Choose Quick Fix
- Choose the Mark for Add fix. (To exclude the file from Perforce control
and remove the task, choose Add to .p4ignore.)
NOTE: P4WSAD does not support deleting, moving, renaming, or refactoring
linked resources (files and folders that are stored in locations in the file
system outside of the project's location).
Excluding Files from Source Control
To conserve space in the repository and to keep changelists small, you can exclude individual files or file types (for example, build or release artifacts) from source control. Eclipse excludes a standard set of such files if you use the default Eclipse build output folder setup and global file type ignore features. If you need to go beyond the default—for example if you use a different builder or build output setup, or you intersperse temporary or other non-essential files with Perforce-managed files in your workspace—you can customize file exclusions using the approaches described in this section. Note that the different exclusion approaches operate independently. For example, if you exclude a file type using a .p4ignore file, you cannot override the exclusion by modifying the list of ignored resources in Preferences.
You can also exclude files from being submitted to the depot by modifying your Perforce client view to exclude the files. For details, refer to the discussion of "tight" client views in the Perforce System Administrator's Guide.
In general:
- To exclude on a per-filetype basis, use Preferences > Team >CVS > Ignored Resources
- To exclude build/test artifacts, set the Derived property
- To exclude specific files and folders, use Team >Add to .p4ignore or manually-maintained .p4ignore files
Important: you cannot exclude files after you have placed them under Perforce control. If you have files opened in a changelist and you want to exclude them from Perforce control, revert them from the changelist before excluding them.
Following are details:
- To exclude files in a project based on file type (for example, to exclude all ".bak" or ".jar" files in a project from Perforce management), choose Preferences. On the Preferences dialog, choose Team >CVS > Ignored Resources and check the file types you want to exclude. (Despite the "CVS" menu item name, these settings are processed by P4WSAD). For more details, refer to Eclipse online help.
- To exclude a specific set of folders or files, right-click the files or folders, choose Properties, and check "Derived." P4WSAD ignores derived files and folders, including (recursively) subfolders in derived folders.
Note that the Derived property is intended to mark temporary or volatile folders and files that are derived from or created by a build or test process. This mechanism is not the best choice for the general case of exclusion. By default, Eclipse marks compiled .class files and associated output folders as derived, if you use the standard Eclipse layout and build features to define the output folders. However, if you're using non-standard build paths, mechanisms, folders, etc., you might need to manually enable the derived property for these objects.
- For temporary exclusion or exclusions that are not addressed by the preceding approaches, right-click the file or folder and choose Team > Add to .p4ignore.
The P4WSAD Add to .p4ignore feature stores exclusions in a .p4ignore file, similar to CVS's .cvsignore feature. The .p4ignore file is a text file that specifies excluded files and folders that reside in its containing folder and any subfolders (recursively). P4WSAD searches up the project folder hierarchy looking for .p4ignore files, and stops at the first .p4ignore file entry that matches a specific file or folder. (Unlike the CVS ignore facility, Perforce does not honor .p4ignore specifications or other Eclipse ignore features outside P4WSAD). You can create .p4ignore files manually, and you can edit .p4ignore files that were created by P4WSAD. The .p4ignore file itself is typically under source control control, but you can exclude it.
To create a .p4ignore file manually, right-click in the Navigator pane and choose New > File. Enter exclusions and save the file as ".p4ignore" in the folder where you want the exclusions applied. Each entry must be on a separate line in the same format used in .cvsignore files. You can use the * and ? (match any single character) wildcards in .p4ignore files.
To display label decorations for ignored files in the Navigator, choose Window > Preferences. On the Preferences dialog, go to Team > Perforce > Label Decorations and check Decorate files/folders contained in .p4ignore.