On Fri, Sep 9, 2011 at 2:29 PM, Lukas Fleischer <[email protected]> wrote: > On Fri, Sep 09, 2011 at 03:24:31PM -0400, Dave Reisner wrote: >> On Fri, Sep 09, 2011 at 09:15:03PM +0200, Lukas Fleischer wrote: >> > On Fri, Sep 09, 2011 at 02:58:03PM -0400, Dave Reisner wrote: >> > > On Fri, Sep 09, 2011 at 08:44:12PM +0200, Lukas Fleischer wrote: >> > > > On Thu, Sep 08, 2011 at 04:38:28PM -0500, Dan McGee wrote: >> > > > > We don't need to invoke svn copy on each file; it accepts multiple >> > > > > arguments. This cut Allan's time releasing one patch-friendly package >> > > > > from 5 minutes to 2 minutes. >> > > > > >> > > > > Signed-off-by: Dan McGee <[email protected]> >> > > > > --- >> > > > > archrelease | 5 ++--- >> > > > > 1 files changed, 2 insertions(+), 3 deletions(-) >> > > > > >> > > > > diff --git a/archrelease b/archrelease >> > > > > index 2f6a563..7bb4c8a 100755 >> > > > > --- a/archrelease >> > > > > +++ b/archrelease >> > > > > @@ -52,9 +52,8 @@ for tag in "$@"; do >> > > > > svn add --parents -q "repos/$tag" >> > > > > fi >> > > > > >> > > > > - for file in "${known_files[@]}"; do >> > > > > - svn copy -q -r HEAD "$trunk/$file" "repos/$tag/" >> > > > > - done >> > > > > + # copy all files at once from trunk to the subdirectory in >> > > > > repos/ >> > > > > + svn copy -q -r HEAD ${known_files[@]/#/$trunk/} "repos/$tag/" >> > > > >> > > > +1 from me. I wondered why we were looping over the single files in the >> > > > first place. However, if we copy from current HEAD anyway, I don't see >> > > > any reason to not just use `svn copy -q -r HEAD "$trunk/" >> > > > "repos/$tag/"` >> > > > here. >> > > > >> > > >> > > +1 from me provided we quote the array expansion. >> > > >> > > $ known_files=(foo "bar baz") trunk=/some/path >> > > >> > > $ printf '%s\n' ${known_files[@]/#/$trunk/} >> > > /some/path/foo >> > > /some/path/bar >> > > baz >> > > >> > > $ printf '%s\n' "${known_files[@]/#/$trunk/}" >> > > /some/path/foo >> > > /some/path/bar baz >> > >> > Well, how is this superior to just copying the whole trunk directory? >> >> No idea. Will svn copy pick up files that aren't tracked? (packages, >> src/, pkg/, signatures...) > > Nope, shouldn't. Unless I missed something. We copy from current HEAD > and already committed to trunk before, so we shouldn't miss any files > when using plain "copy" here.
Because you'd be reverting the whole damn reason I made these changes in the first place- to prevent the silly extra commit. SVN will *not* let you svn rm a directory and then copy a new one in its place in the same commit. What you suggest is exactly what we used to do: http://projects.archlinux.org/devtools.git/commit/?id=8384ad849dfe308ed3e63e252785b9a6f80474f5 -Dan
