Hi, attached is a patch to reject checkouts to already existing directories when `--force` is not given. This is according to `svn co --help`.
[[
Reject checkout to existing paths without force
* subversion/svn/checkout-cmd.c:
- (svn_cl__checkout): Reject checkout to existing directory
without --force
]]
Regards
--
Patrick Steinhardt, Entwickler
elego Software Solutions GmbH, http://www.elego.de
Gebäude 12 (BIG), Gustav-Meyer-Allee 25, 13355 Berlin, Germany
Sitz der Gesellschaft: Berlin, USt-IdNr.: DE 163214194
Handelsregister: Amtsgericht Charlottenburg HRB 77719
Geschäftsführer: Olaf Wagner
diff --git a/subversion/svn/checkout-cmd.c b/subversion/svn/checkout-cmd.c
index 56fd02b..5fda44a 100644
--- a/subversion/svn/checkout-cmd.c
+++ b/subversion/svn/checkout-cmd.c
@@ -155,6 +155,20 @@ svn_cl__checkout(apr_getopt_t *os,
subpool);
}
+ if (! opt_state->force)
+ {
+ svn_node_kind_t kind;
+
+ SVN_ERR(svn_io_check_path(target_dir, &kind, subpool));
+
+ if (kind != svn_node_none)
+ {
+ return svn_error_createf
+ (SVN_ERR_ILLEGAL_TARGET, NULL,
+ _("Rejecting checkout to existing directory '%s'"), target_dir);
+ }
+ }
+
/* Checkout doesn't accept an unspecified revision, so default to
the peg revision, or to HEAD if there wasn't a peg. */
if (revision.kind == svn_opt_revision_unspecified)
signature.asc
Description: PGP signature

