On Apr 19, 2010, at 5:50 PM, Ryan Schmidt wrote: > > On Apr 19, 2010, at 17:39, Ryan Schmidt wrote: > >> On Apr 19, 2010, at 17:04, Omar Ousmane Kadry wrote: >> >>> Not sure if it is the right place for this but I’m looking for a way to >>> imitate the cvs behavior when checking out folders. >>> In cvs: >>> cvs co mod1/dir1/dir2/file2 >>> will result in having: >>> mod1/dir1/dir2/file2 >>> >>> How can I obtain this hierarchical checkout with SVN? >> >> There isn't anything built into Subversion to do that. You'll have to make >> the directories yourself, for example using "mkdir -p". >
Maybe I misunderstood the question, but this works for me (with an added parameter, the directories are created by checkout)... svn co https://.../example1/trunk/svn-admin/bin example1/trunk/svn-admin/bin > Here's a quick unix script "svnco" I wrote which you could use instead of > "svn co" to do this. There's no error checking, no handling of special > characters (i.e. those that would be percent-encoded in URLs), and maybe > other issues, but it shows how it can be done. > > > $ cat /path/to/svnco > #!/bin/bash > > URL="$1" > > MKDIR=mkdir > SED=sed > SVN=svn > > REPO_ROOT=$($SVN info "$URL" | $SED -n "s|^Repository Root: ||p") > PATH_IN_REPO=$(echo "$URL" | $SED "s|^$REPO_ROOT/||") > $MKDIR -p "$PATH_IN_REPO" > $SVN co "$URL" "$PATH_IN_REPO" > > > $ mkdir test > $ cd test > $ /path/to/svnco > http://svn.macosforge.org/repository/macports/trunk/dports/devel/subversion > A trunk/dports/devel/subversion/files > A trunk/dports/devel/subversion/files/patch-path.c.diff > A trunk/dports/devel/subversion/files/patch-Makefile.in.diff > A trunk/dports/devel/subversion/Portfile > Checked out revision 66676. > $ find . > . > ./trunk > ./trunk/dports > ./trunk/dports/devel > ./trunk/dports/devel/subversion > ./trunk/dports/devel/subversion/.svn > ./trunk/dports/devel/subversion/.svn/all-wcprops > ./trunk/dports/devel/subversion/.svn/entries > ./trunk/dports/devel/subversion/.svn/prop-base > ./trunk/dports/devel/subversion/.svn/prop-base/Portfile.svn-base > ./trunk/dports/devel/subversion/.svn/props > ./trunk/dports/devel/subversion/.svn/text-base > ./trunk/dports/devel/subversion/.svn/text-base/Portfile.svn-base > ./trunk/dports/devel/subversion/.svn/tmp > ./trunk/dports/devel/subversion/.svn/tmp/prop-base > ./trunk/dports/devel/subversion/.svn/tmp/props > ./trunk/dports/devel/subversion/.svn/tmp/text-base > ./trunk/dports/devel/subversion/files > ./trunk/dports/devel/subversion/files/.svn > ./trunk/dports/devel/subversion/files/.svn/all-wcprops > ./trunk/dports/devel/subversion/files/.svn/entries > ./trunk/dports/devel/subversion/files/.svn/prop-base > ./trunk/dports/devel/subversion/files/.svn/props > ./trunk/dports/devel/subversion/files/.svn/text-base > ./trunk/dports/devel/subversion/files/.svn/text-base/patch-Makefile.in.diff.svn-base > ./trunk/dports/devel/subversion/files/.svn/text-base/patch-path.c.diff.svn-base > ./trunk/dports/devel/subversion/files/.svn/tmp > ./trunk/dports/devel/subversion/files/.svn/tmp/prop-base > ./trunk/dports/devel/subversion/files/.svn/tmp/props > ./trunk/dports/devel/subversion/files/.svn/tmp/text-base > ./trunk/dports/devel/subversion/files/patch-Makefile.in.diff > ./trunk/dports/devel/subversion/files/patch-path.c.diff > ./trunk/dports/devel/subversion/Portfile > $ > > > > >