ZigZig Forums  


::post new topic::
<< Start < Prev 1 2 Next > End >>
Re:Script for using bundles in subversion - 2006/08/09 15:07 OK last one. This now works for bundles with spaces in their names as well as ful paths with spaces. Sorry but I don't usually do perl. Here's the DIFF:

Code:

  --- /Users/tbrice/bin/update_bundle.pl    2006-07-20 06:20:02.000000000 -0500 +++ /Users/tbrice/bin/update_bundle_new.pl    2006-08-09 16:53:19.000000000 -0500 @@ -35,25 +35,25 @@  # remove and backup - do some error checking here so that if we screw up later we still have a  backup  unlink $tarball;  if ( -e $tarball ) { die "Unable to remove backup tar $tarball"; } -`tar cPzf $tarball $bundle_dir`; # backup +print `tar cPzf "$tarball" "$bundle_dir"`; # backup  if ( ! -e $tarball ) { die "Unable to create backup tar $tarball"; }  print "nBackup tar named $tarballnn"; -`rm -rf $bundle_dir`; # nuke -`svn up $bundle_dir`; # recreate directory structure with .svn dirs -`find $bundle_dir -type f|grep -v .svn|xargs rm`; # get rid of all the files -`tar xPzf $tarball`; # restore files -open SVN_ST"svn st $bundle_dir|"; +`rm -rf "$bundle_dir"`; # nuke +`svn up "$bundle_dir"`; # recreate directory structure with .svn dirs +`find "$bundle_dir" -type d -name .svn -prune -o -type f -print0 | xargs -0 rm`; # get rid of all the files excpet .svn directories +`tar xPzf "$tarball"`; # restore files +open SVN_ST"svn st '$bundle_dir'|";  while (<SVN_ST>)  {      if ( /^!s+(.*)/ ) # missing files      {          print "removing $1n"; -        `svn rm $1`; +        `svn rm '$1'`;      }      if ( /^?s+(.*)/ ) # unversioned files      {          print "adding $1n"; -        `svn add $1`; +        `svn add '$1'`;      }  }  

  reply | quote
Re:Script for using bundles in subversion - 2006/08/28 15:41 This is a good start, but it only solves one of the two bundle problems, which is if the Subversion metadata is somehow removed.

There is another problem that will have to be solved though, which is the problem of changes inside the bundle. For example, OmniGraffle stores its files as bundles, with almost all of the data in an Info.plist. If two users work on the same OmniGraffle file simultaneously, Subversion will mark the inner Info.plist files as conflicting. Of course, you can't "merge" the changes in a property list representing vector graphics.

I would suggest that some bundles, or maybe all bundles, need to be treated atomically. Nothing should prompt for merging when it would be as meaningful as, say, merging conflicts in a JPEG or an MP3.
  reply | quote
Re:Script for using bundles in subversion - 2007/04/20 00:53 This is just what I've been looking for, Thanks....

However, I wonder if its possible to make this recurse a whole set of directories from a certain point in a series of working copy directories?

Thanks
Si
  reply | quote
Re:Script for using bundles in subversion - 2007/04/24 10:54 Here's a simple bash script that does the same thing:

Code:

 svnfix() {         dir=presentation.key         mv $"$1-backup"         svn up $1         rsync -arC "$1-backup/" $1/         svn add --force $1         rm -rf $1-backup }



Usage:
svnfix name-of-my-presentation.key
(note that there's no trailing /)
  reply | quote
Re:Script for using bundles in subversion - 2007/05/10 07:20 Hi,

What kind of problems does SVN have with bundles? I'm about to embark on using SVN for the first time and would like to know what the problems are.

Thanks,

Rob
  reply | quote
<< Start < Prev 1 2 Next > End >>
::post new topic::