By default svn uses the login username to access the server. If the user wants to access the repository as a different user then he can use “--username
The important thing to note about this option is that, using this option does not automatically send the credentials to the server. These credentials are pulled by the server when it deems necessary, svn cannot push them at will. If username and password are passed as option then they will be presented to the server only if server requests them.
If the server never requests authentication challenge(may be due to misconfiguring of the server) and if user passes “--username” and “--password” to the svn, then svn will accept it. But these are not used and the revisions committed will appear as anonymous!!
If the user is using the username and password for the svnsync command, then svn tries to authenticate both server and source and destination serves with same credentials. This might cause problem, especially when using with “--non-interactive” option. In this case, the user can use “--source-username” and “--source-password” to provide authentication credentials to the source server and “--sync-username” and “--sync-password” to provide authentication credentials to the destination repository.
--non-interactive
This disables all interactive prompting. Some examples of interactive prompting are
1.Requests for authentication credentials.
2.Conflict resolution decisions.
This option is useful when the user is running the svn in an automated script where it more appropriate to have Subversion fail than to prompt for more information.
--diff-cmd
The Subversion internally has a tool to find difference between the files and to merge the files. But if the user wants to use the external utility to find the difference or for merging then he can use these options “--diff-cmd
The way this option works is like this. The Subversion passes the control to the external utility and expects a return value from it and the output it displays to the standard output. If the return value is '0' then it means there were no differences, '1' means there is difference and any other value means a Fatal Error. If the user is using a merge utility, then, '0' means merge successful, '1' means there exists unresolved conflicts in the output and any other value means Fatal Error.
If the user wants to pass arguments to the external diff command then he should use “--extensions” options. This enables the user to pass arguments to the external diff command. “-x” is the short form of this option.

No comments:
Post a Comment