Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
svn(1)			 Subversion Command Line Tool			svn(1)

       svn - Subversion	command	line tool

       svn command [options] [args]

       Subversion  is  a  version control system, which	allows you to keep old
       versions	of files (usually source code),	keep a log of who,  when,  and
       why  changes occurred, etc., like CVS, RCS or SCCS.  Subversion keeps a
       single copy of the master sources.  This	 copy  is  called  the	source
       ``repository'';	it  contains  all the information to permit extracting
       previous	software releases at any time.

       This manpage provides a brief description of the	svn command.   Details
       as well as more about Subversion	as a general version control system is
       documented in the The Subversion	Book.

       These options are understood by svn  commands.	Not  all  options  are
       available  to  every  command.  See the individual command descriptions
       for details.

       -?, -h, -H, --help
	      Show help	text.

       -v, --verbose
	      Print additional information.

       -r, --revision REV
	      Specify repository revision to  operate  on.  Separate  multiple
	      revisons with `:'.

	      Print client version info.

       -N, --non-recursive
	      Local; run only in current working directory.

	      Try operation but	make no	changes.

       -R, --recursive
	      Operate recursively (default).

	      Force operation to run.

       -m, --message MSG
	      Specify log message.

       -F, --file ARG
	      Read data	from file ARG.

       --encoding ARG
	      Take log message in charset encoding ARG.

	      Display update information.

       --username ARG
	      Specify a	username ARG.

       --password ARG
	      Specify a	password ARG.

       -x, --extensions	ARG
	      Pass ARG as bundled options to GNU diff.

	      Supply  a	 file  used as entry and URL args for a	given command.
	      You can also supply '-' as the file to read from standard	input.
	      The  file	 will  be  read	as one argument	for each line, even if
	      given on standard	input.

       -q or --quiet
	      Print as little as possible.

       --xml  Output in	xml.

	      Use strict semantics.

	      Disregard	default	and svn:ignore property	ignores.

	      Do not cache authentication tokens.

       svn has many options. Remember to run svn help to display a list	of all
       commands,  and to request a help	text for a particular command, run svn
       help command.

       add file	[--targets file] [-Nq]
	      Use this command to enroll new files  in	svn  records  of  your
	      working  directory.   The	 files will be added to	the repository
	      the next time you	run "svn commit".  You	should	use  the  "svn
	      import" command to bootstrap new sources into the	source reposi-
	      tory. "svn add" is only used for adding new files	to an  already
	      checked-out module.

	      example: svn add foo.c bar.h baz/	bat/*.m

       cat TARGET [TARGET ...]	[--username name] [--password arg] [-r]
	      Output the content of specified files or URLs.

       checkout	 repository  [repository...]  [destination]  [--username name]
       [--password arg]	[--no-auth-cache] [-rqN]
	      (Alias:  co)  A necessary	preliminary for	most svn work: creates
	      your private copy	of the source for repository  (the  repository
	      must  be	identified with	a valid	URL string). You can work with
	      this copy	without	interfering with others' work.	At  least  one
	      subdirectory level is always created.

	      If  destination  is  omitted  the	basename of repository will be
	      used as the destination.	If multiple URLs are given  each  will
	      be  checked  out	into  a	sub-directory of destination, with the
	      name of the sub-directory	being the basename of the URL.

	      example: svn checkout targetdir

       cleanup target
	      Recursively clean	up the working copy, removing locks,  resuming
	      unfinished operations, etc.

       commit  file  [--force] [--username name] [--password pass] [--no-auth-
       cache] [--encoding] [-mFqN]
	      (Alias:  ci)  Use	 this  command	when you wish to ``post'' your
	      changes to other developers,  by	incorporating  them  into  the
	      source repository.

	      example: svn commit foo.c	bar.h baz/ bat/*.m

       copy source destination [--username name] [--password pass] [--no-auth-
       cache] [--encoding] [-mFrq]
	      (Alias:  cp)  Where source and destination can be	directories or
	      files, local ones	in a repository	or remote  ones	 specified  as
	      URLs.  `copy' is used where you want to make a copy of source so
	      that destination will share ancestry of source. Unless  destina-
	      tion  is	a directory, destination must not exist	(In the	spirit
	      of unix cp, source will be placed	inside of destination if  des-
	      tination is a directory).

	      example: If you do this (MAINTAIN	ANCESTRY)

		$ svn copy foo.c bar.c

	      Then foo.c and bar.c will	share a	common ancestor	in the reposi-

	      example: But, if you do this (NO ANCESTRY)

		$ cp foo.c bar.c
		$ svn add bar.c
		$ svn ci -m "Initial Import"

	      Then you will have the identical file in your working copy,  but
	      bar.c  will  have	 no revision history beyond the	initial	import
	      that you just did.

	      example: Make a new copy from a remote source

		$ svn cp	foo.c
		$ svn ci -m "copied that remote	bar.c here"

       delete file|dir [--force] [--targets file] [--username  name]  [--pass-
       word pass] [--no-auth-cache] [--encoding] [-mFq]
	      (Alias: del, remove, rm) Mark the	 given	files/directories  for
	      deletion	upon  commit.  When  you  commit,  the entries will be
	      removed from the head revision in	the  repository,  and  deleted
	      from your	working	copy.

	      example: svn delete foo.c	bar.h

       diff  [target...] [--username name] [--password pass] [--no-auth-cache]
       [--no-diff-deleted] [-rxN]
	      (Alias: di) Display file changes as contextual diffs. The	target
	      can be a directory, in which it operates recursively. The	target
	      can be an	URL, although this is only useful if two revisions are
	      also given.

	      -r/--revision with a single revision causes comparison with  the
	      specified	repository revision. With two revisions	the comparison
	      is between the  two  specified  repository  revisions.  If  this
	      option  is  not given the	comparison is between the working copy
	      and its current repository revision.

	      -N/--non-recursive with a	directory target will  prevent	recur-
	      sive descent into	subdirectories.

	      --no-diff-deleted	 will not print	differences for	deleted	files.

	      example: svn diff	README

	      Compares the working copy	 version  of  the  file	 with  current
	      repository version.

	      example: svn diff	-r HEAD	README

	      Compares the working copy	with most recent repository version.

	      example: svn diff	-r 123:456 README

	      Compares revisions 123 and 456 of	the file in the	repository.

		svn diff -r 123:456

	      Compare  revisions  123  and  456	 of the	file in	the repository
	      without the need for a working copy.

       export source [destination] [--username name] [--password pass]	[--no-
       auth-cache] [-rq]
	      If source	is a URL exports  a  clean  directory  tree  from  the
	      repository  specified  by	 URL,  at revision REV if it is	given,
	      otherwise	at HEAD,  into	destination.   If  source  is  a  path
	      exports  a  clean	directory tree from the	working	copy specified
	      by PATH.	All local changes will be  preserved,  but  files  not
	      under revision control will not be copied.  NOTE:	If destination
	      is omitted, the last component of	the URL	is used	for the	 local
	      directory	name.

       help [command]
	      (Alias:  ?,  h)  Without	a  given command argument, this	prints
	      generic help. If a specific command is entered, a	short descrip-
	      tion on how to use that command is presented.

       import  Repository-URL  [Path] [New-Repository-Entry] [--username name]
       [--password pass] [--no-auth-cache] [--encoding]	[-FmqN]
	      Import a file or tree into the repository.

       info target1 [target2 ...] [--targets file] [-R]
	      Print info about a versioned resource.

       list  url  [url	...]  [--username  name] [--password pass] [--no-auth-
       cache] [-rvR]
	      (Alias: ls) List directory entries of a URL.

       log  [url]  [file|dir] [New-Repository-Entry] [--targets	file] [--user-
       name  name]  [--password	 pass]	[--no-auth-cache]  [--strict]  [--xml]
	      Show  log	 messages (and affected	entities) for commits in which
	      any of the entities in question changed.	If  none  were	speci-
	      fied,  then recursive inclusion is the default.  The set of mes-
	      sages can	be further restricted by a revision  range  specifica-
	      tion  (using  -r).  A  URL can also be specific to retrieve logs
	      from a remote repository.	If the URL is passed alone, then  only
	      that entry will be searched. If paths are	also supplied with the
	      URL, then	only those paths are searched, based at	the given URL.
	      With  -v,	 also  print all affected paths	with each log message.
	      With -q, don't print the log message body	itself (note that this
	      is compatible with -v).

	      example: svn log

	      Recursively retrieve logs	for all	revision under "."

	      example: svn log README

	      Retrieve	 logs  for  only  those	 revisions  where  README  was

	      example: svn log

	      Retrieve logs for	the file without the need for a	local checkout
	      of the repository.

	      example: svn log README LICENSE

	      Retrive logs for all revisions where both	files were affected.

	      example: svn log README LICENSE

	      Retrieve	logs  for  both	files in the remote repository without
	      the need for a local checkout of the repository.

       merge  PATH1[@N]	 [PATH2[@M]]  [WCPATH]	[--force]  [--username	 name]
       [--password pass] [--no-auth-cache] [--dry-run] [-rNq]
	      Apply the	differences between two	paths to a working copy	 path.
	      PATH1 and	PATH2 are either working-copy paths or URLs, specified
	      at revisions N and M.  These are the two sources to be compared.
	      N	 and M default to HEAD if omitted.  WCPATH is the working-copy
	      path that	will receive the changes.  If omitted, a default value
	      of '.' is	assumed.  If PATH2 is omitted the revision option must
	      be passed	to identify two	versions of PATH1, for example:
		svn merge -r 4:5

       mkdir [directory...] [--username	name]  [--password  pass]  [--no-auth-
       cache] [--encoding] [-mFq]
	      Create the directory(ies), if they do  not  already  exist.  The
	      directories  can be specified as a local directory name, or as a

       move [SOURCE] [DEST] [--username	name]  [--password  pass]  [--no-auth-
       cache]  [--force] [--encoding] [-mFrq]
	      (alias:  mv,  rename,  ren)  Rename  SOURCE  to  DEST,  or  move
	      SOURCE(s)	 to  DIRECTORY.	 Both source and dest can be specified
	      either as	a local	file name, or as a URL in  a  possibly	remote

       propdel propname	[targets] [-qR]
	      (Alias: pdel) Remove property propname on	files and directories.

       propedit	propname [targets]
	      (Alias: pedit, pe) Edit property propname	with $EDITOR on	 files
	      and directories.

       propget propname	[targets] [-R]
	      (Alias:  pget, pg) Get the value of propname on files and	direc-

       proplist	[targets] [-vR]
	      (Alias: plist, pl) List  all  properties	for  given  files  and

       propset propname	[propval] [targets] [--targets file] [-FqR]
	      (Alias:  pset, ps) Set property propname to propval on files and

	      Note: svn	recognizes the following special properties  but  will
	      store any	arbitrary properties set:

		     A newline separated list of file patterns to ignore.

		     Keywords to be expanded.  Valid keywords are:

		     URL, HeadURL
			    The	URL for	the head version of the	object.

		     Author, LastChangedBy
			    The	last person to modify the file.

		     Date, LastChangedDate
			    The	date/time the object was last modified.

		     Rev, LastChangedRevision
			    The	last revision the object changed.

		     If	 present, make the file	executable. This property can-
		     not be set	on a directory.	 A non-recursive attempt  will
		     fail,  and	a recursive attempt will set the property only
		     on	the file children of the directory.

		     One of 'native', 'LF', 'CR', 'CRLF'.

		     The mimetype of the file.	Used to	determine  whether  to
		     merge the file, and how to	serve it from Apache.  A mime-
		     type beginning with 'text/' (or an	 absent	 mimetype)  is
		     treated as	text.  Anything	else is	treated	as binary.

		     A	newline	 separated  list of module specifiers, each of
		     which consists of a  relative  directory  path,  optional
		     revision flags, and an URL.  For example :
		       foo/bar -r 1234

       revert [file...]	[--targets file] [-Rq]
	      Restore  a  pristine  working  copy version of file, undoing all
	      local changes.

       resolve target [target...] [--targets file] [-Rq]
	      Remove 'conflicted' state	on working copy	files or  directories.
	      Note:  this routine does not semantically	resolve	conflict mark-
	      ers; it  merely  removes	conflict-related  artifact  files  and
	      allows TARGET to be committed again.

       status  [targets] [--username name] [--password pass] [--no-auth-cache]
       [--no-ignore] [-uvNq]
	      (Alias:  stat,  st)  Print  the status of	working	copy files and

       switch url [target] [--username	name]  [--password  pass]  [--no-auth-
       cache] [-rNq]
	      (Alias: sw) Update working copy to mirror	a new URL. This	is the
	      way to move a working copy to a new branch.

       update  [file...] [--username name] [--password pass] [--no-auth-cache]
	      (Alias:  up)  Bring changes from the repository into the working
	      copy.  If	no revision given, bring working copy up-to-date  with
	      HEAD  rev.   Else	 synchronize working copy to revision given by
	      -r.  For each updated item a line	will start  with  a  character
	      reporting	the action taken.  These characters have the following

	      A	     Added

	      D	     Deleted

	      U	     Updated

	      C	     Conflict

	      G	     Merged

	      example: svn update foo.c	bar.h baz/ bat/*.m



svn r3146			  9 Sept 2002				svn(1)


Want to link to this manual page? Use this URL:

home | help