11. Adding and Removing Files
Prev |  | Next

## 11. Adding and Removing Files

Integrating a branch will bring existing files into your tree, but you may still want to add new files or remove existing ones. Adding files is easily done be creating the file and then running the `p4 add` command like so:

`%` `p4 add `filename``

If you want to add a whole tree of files, run a command like:

`%` `find . -type f | xargs p4 add`

### Note:

Perforce can track UNIX symlinks too, so you can probably use “`\! -type d`” as the matching expression in find(1) above. We don't commit symlinks into the source tree of FreeBSD though, so this should not be necessary.

Doing a `p4 submit` will then copy the file to the depot on the server. It is very important to only add files, not directories. Explicitly adding a directory will cause Perforce to treat it like a file, which is not what you want.

Removing a file is just as easy with the `p4` delete command like so:

`%` `p4 delete `filename``

This will mark the file for deletion from the depot the next time that a submit is run. It will also remove the local copy of the file, so beware.

Of course, deleting a file does not actually remove it from the repository.

Deleted files can be resurrected by syncing them to a prior version. The only way to permanently remove a file is to use the `p4 obliterate` command. This command is irreversible and expensive, so it is only available to those with admin access.

Prev |  | Next
10. Diffs | Home | 12. Working with diffs

This, and other documents, can be downloaded from http://ftp.FreeBSD.org/pub/FreeBSD/doc/

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.