> Hi there,
>
> my situation is as follows:
> there's a large svn repository
> svn+ssh://someserver/reps/maindir/
> I only work with the subdirectory
> svn+ssh://someserver/reps/maindir/old_dir/foobar/what_I_work_with
>
> such that I used to check it out with
> svn co svn+ssh://someserver/reps/maindir/old_dir/foobar/what_I_work_with
>
> what_I_work_with got moved by the maintainers of the main repository in
> revision r123456 to
>
> svn+ssh://someserver/reps/maindir/new_dir/foobar/what_I_work_with
>
> now I can check it out with
>
> svn co svn+ssh://someserver/reps/maindir/new_dir/foobar/what_I_work_with
>
> in newlocation, commands like "svn log", "svn blame", ... still work, I see
> commit messages from before r123456 and changes from r900 are correctly
> reported by svn blame.
>
> what does not work is
>
> cd what_I_work_with
> svn up -r900
>
> since maindir/new_dir/foobar/what_I_work_with doesn't exist in r900.
>
> Also the alternate approach checking out what_I_work_with doesn't work since
> the directory doesn't exist in the trunk
>
> svn co svn+ssh://someserver/reps/maindir/old_dir/foobar/what_I_work_with
>
> neither did switching work:
>
> cd what_I_work_with
> svn switch ..../old_dir/...
>
> Also, I'm hesitant to check out svn+ssh://someserver/reps/maindir due to the
> large overhead of stuff in there which I don't need (in fact I found it a strong
> part of svn that subdirectories of a repository are repositories themselves).
>
>
>
> Is there any way to check out or update to revision r900?
I don't think so. Since the canonical "name" of an item in the repository is a combination of the full path and the rev number (^maindir/new_dir/foobar/what_I_work_with_at_123456) you can't update a path to a revision in which that path didn't exist.
You would have to check out rev900 from the original path.
You could try:
Svn co -r 900 ^maindir/new_dir/foobar/what_I_work_with_at_123456
But, I'm not sure if that will work.
BOb
Received on 2013-07-24 17:12:30 CEST