Re: Options for moving large files between repos

2012-03-21 Thread sebb
On 8 March 2012 13:54, Mark Phippard  wrote:
> On Mon, Feb 27, 2012 at 10:03 AM, sebb  wrote:
>
>> I've currently got the CollabNet build (1.7.2) for Windows, and it
>> does not include svnmucc as far as I can tell.
>
> As of the 1.7.4 release it will include it.

Thanks!

I've just reverted to the CollabNet build because I found that the
WANdisco builds have a problem with redirected output.

When the output of svn pl -v is redirected, the pathnames are printed
together before the properties, making the output all but useless.
I did not check if this bug affects other commands as well.

> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/


Re: Options for moving large files between repos

2012-03-08 Thread Mark Phippard
On Mon, Feb 27, 2012 at 10:03 AM, sebb  wrote:

> I've currently got the CollabNet build (1.7.2) for Windows, and it
> does not include svnmucc as far as I can tell.

As of the 1.7.4 release it will include it.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/


Re: Options for moving large files between repos

2012-02-27 Thread sebb
On 26 February 2012 21:52, Stefan Sperling  wrote:
> On Sun, Feb 26, 2012 at 07:52:41PM +, sebb wrote:
>> On 26 February 2012 16:05, Stefan Sperling  wrote:
>> > https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/svnmucc
>>
>> Is this available for all OSes?
>
> Yes. Things in tools/ are built by default with Subversion.
> Which package they end up in might depend on your OS, though.

I've currently got the CollabNet build (1.7.2) for Windows, and it
does not include svnmucc as far as I can tell.

(Later) just downloaded 1.7.3 from CollabNet and Wandisco (for comparison)

The CollabNet download is about twice the size, yet does not contain svnmucc.

So I've abandoned the CollabNet build.


Re: Options for moving large files between repos

2012-02-26 Thread Stefan Sperling
On Sun, Feb 26, 2012 at 07:52:41PM +, sebb wrote:
> On 26 February 2012 16:05, Stefan Sperling  wrote:
> > https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/svnmucc
> 
> Is this available for all OSes?

Yes. Things in tools/ are built by default with Subversion.
Which package they end up in might depend on your OS, though.

> Is it documented anywhere?

$ svnmucc help

Multiple URL Command Client (for Subversion)

Usage: svnmucc [OPTION]... [ACTION]...

Actions:
  cp REV URL1 URL2  copy URL1@REV to URL2
  mkdir URL create new directory URL
  mv URL1 URL2  move URL1 to URL2
  rm URLdelete URL
  put SRC-FILE URL  add or modify file URL with contents copied from
SRC-FILE (use "-" to read from standard input)
  propset NAME VAL URL  set property NAME on URL to value VAL
  propsetf NAME VAL URL set property NAME on URL to value from file VAL
  propdel NAME URL  delete property NAME from URL

Options:
  -h, --helpdisplay this text
  -m, --message ARG use ARG as a log message
  -F, --file ARGread log message from file ARG
  -u, --username ARGcommit the changes as username ARG
  -p, --password ARGuse ARG as the password
  -U, --root-url ARGinterpret all action URLs are relative to ARG
  -r, --revision ARGuse revision ARG as baseline for changes
  --with-revprop A[=B]  set revision property A in new revision to B
if specified, else to the empty string
  -n, --non-interactive don't prompt the user about anything
  -X, --extra-args ARG  append arguments from file ARG (one per line;
use "-" to read from standard input)
  --config-dir ARG  use ARG to override the config directory
  --config-option ARG   use ARG so override a configuration option
  --no-auth-cache   do not cache authentication tokens
  --version print version information


Re: Options for moving large files between repos

2012-02-26 Thread sebb
On 26 February 2012 16:05, Stefan Sperling  wrote:
> On Sun, Feb 26, 2012 at 03:51:44PM +, sebb wrote:
>> Now release archives can be quite large, so one wants to minimise
>> network transfers, and not have to checkout large workspaces either.
>
> Why would anyone need to get a working copy of anything?
> All moves/copies can be performed server-side.
> The RM can import the file into a directory, and others can download it.
>
> Because separate revisions (RCs) of the same release usually use unique
> filenames, there is currently no benefit in updating an existing working
> copy instead of downloading the release artefact.
>
>> In this case, there is no parent directory which can easily be
>> renamed, so what are the options for minising network usage?
>
> What network usage are you trying to minimise?
> RM to SVN server?

Yes.

> Other developers to/from SVN server?

No, they would have to download just once from the dev area.

> SVN server to release mirror servers?

No.

>> One could rename each file individually on the server, but that would
>> result in lots of separate commits, and would be tedious and error
>> prone.
>
> In this scenario, I have no better idea than renaming files individually.
>
>> Is there a way to rename multiple files as part of a single commit?
>
> Yes, there is. See svnmucc:
> https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/svnmucc

Is this available for all OSes?
Is it documented anywhere?

Whatever process is chosen needs to be easy to use for multiple RMs.


Re: Options for moving large files between repos

2012-02-26 Thread Stefan Sperling
On Sun, Feb 26, 2012 at 03:51:44PM +, sebb wrote:
> Now release archives can be quite large, so one wants to minimise
> network transfers, and not have to checkout large workspaces either.

Why would anyone need to get a working copy of anything?
All moves/copies can be performed server-side.
The RM can import the file into a directory, and others can download it.

Because separate revisions (RCs) of the same release usually use unique
filenames, there is currently no benefit in updating an existing working
copy instead of downloading the release artefact.

> In this case, there is no parent directory which can easily be
> renamed, so what are the options for minising network usage?

What network usage are you trying to minimise?
RM to SVN server? Other developers to/from SVN server?
SVN server to release mirror servers?

> One could rename each file individually on the server, but that would
> result in lots of separate commits, and would be tedious and error
> prone.

In this scenario, I have no better idea than renaming files individually.
 
> Is there a way to rename multiple files as part of a single commit?

Yes, there is. See svnmucc:
https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/svnmucc


Options for moving large files between repos

2012-02-26 Thread sebb
The ASF is moving to using SVN for uploading releases [1]

The process involves uploading the release artifacts (archives, sigs, hashes) to
 https://dist.apache.org/repos/dist/release/

There is a parallel development area at
  https://dist.apache.org/repos/dist/dev/
which can be used for release candidates (RC).

The release manager (RM) can create RC files in the dev/ tree, and
publish them by moving them to the release/ tree once the vote
succeeds.

Now release archives can be quite large, so one wants to minimise
network transfers, and not have to checkout large workspaces either.

One way which seems to work OK is to use a separate directory for each
RC; this can then be renamed directly on the SVN server.
Thus the RM only has to import the RC files once into the dev/ tree;
all further copying is done on the server.

However, many projects currently use a different layout for the
release directory.
A common layout is to use
binaries/
source/

These directories may contain multiple concurrent release versions,
and the existing release will anyway need to be retained for a few
days during the release process to allow mirrors time to sync.

In this case, there is no parent directory which can easily be
renamed, so what are the options for minising network usage?

One could rename each file individually on the server, but that would
result in lots of separate commits, and would be tedious and error
prone.

Is there a way to rename multiple files as part of a single commit?

Or some other method?

[1] http://www.apache.org/dev/release.html#upload-ci