Difference between revisions of "Dev:Subversion"

From Synfig Studio :: Documentation
Jump to: navigation, search
m (link to tarball)
m (remove some of the output)
Line 11: Line 11:
 
  A    code/ETL/releases
 
  A    code/ETL/releases
 
  A    code/ETL/trunk
 
  A    code/ETL/trunk
A    code/ETL/trunk/ETL.pbproj
 
A    code/ETL/trunk/ETL.pbproj/darco.pbxuser
 
A    code/ETL/trunk/ETL.pbproj/frameworkfix.cpp
 
A    code/ETL/trunk/ETL.pbproj/project.pbxproj
 
A    code/ETL/trunk/ETL.pbproj/etl_profile.h
 
 
   C-c svn: Caught signal
 
   C-c svn: Caught signal
 
   
 
   
Line 39: Line 34:
 
  A    code/synfig-studio/trunk
 
  A    code/synfig-studio/trunk
 
  A    code/synfig-studio/trunk/synfigstudio.mime.in
 
  A    code/synfig-studio/trunk/synfigstudio.mime.in
A    code/synfig-studio/trunk/macosxbuild.sh
 
A    code/synfig-studio/trunk/AUTHORS
 
A    code/synfig-studio/trunk/synfigstudio-thumbnailer.schemas.in
 
A    code/synfig-studio/trunk/src
 
 
   C-c svn: Caught signal
 
   C-c svn: Caught signal
  
Line 65: Line 56:
 
  A    code/synfig-core/trunk
 
  A    code/synfig-core/trunk
 
  A    code/synfig-core/trunk/synfig-core.xcodeproj
 
  A    code/synfig-core/trunk/synfig-core.xcodeproj
A    code/synfig-core/trunk/synfig-core.xcodeproj/darco.pbxuser
 
A    code/synfig-core/trunk/synfig-core.xcodeproj/project.pbxproj
 
A    code/synfig-core/trunk/synfig-core.xcodeproj/config.h
 
A    code/synfig-core/trunk/synfig-core.xcodeproj/darco.mode1
 
A    code/synfig-core/trunk/macosxbuild.sh
 
A    code/synfig-core/trunk/AUTHORS
 
A    code/synfig-core/trunk/src
 
 
   C-c svn: Caught signal
 
   C-c svn: Caught signal
  
Line 94: Line 78:
 
  A    code/synfig-docs/trunk
 
  A    code/synfig-docs/trunk
 
  A    code/synfig-docs/trunk/en
 
  A    code/synfig-docs/trunk/en
A    code/synfig-docs/trunk/en/animation
 
A    code/synfig-docs/trunk/en/animation/workspace.sgml
 
A    code/synfig-docs/trunk/en/animation/introduction.sgml
 
 
   C-c svn: Caught signal
 
   C-c svn: Caught signal
  
Line 111: Line 92:
 
  A    code/gtkmm-osx/trunk
 
  A    code/gtkmm-osx/trunk
 
  A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg
 
  A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg
A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg/Contents
 
A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg/Contents/Info.plist
 
A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg/Contents/Resources
 
A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg/Contents/Resources/package_version
 
A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg/Contents/Resources/English.lproj
 
 
   C-c svn: Caught signal
 
   C-c svn: Caught signal
  
Line 126: Line 102:
 
  A    code/synfig-osx/trunk
 
  A    code/synfig-osx/trunk
 
  A    code/synfig-osx/trunk/launcher
 
  A    code/synfig-osx/trunk/launcher
A    code/synfig-osx/trunk/launcher/darwin-new-keymap.c
 
 
   C-c svn: Caught signal
 
   C-c svn: Caught signal
  

Revision as of 04:44, 6 October 2007

Build_instructions has instructions for checking the source code out of subversion in 3 separate projects, but what if you want a single project?

The easy way is to download this tarball. Extract it, and it creates a subversion working directory called 'synfig' which contains ETL, synfig-core and synfig-studio. 'cd' into it and run 'svn up' to update it to the latest version.

Here's how I achieved it. The following steps will create a new directory called 'code' in the current directory, and put everything inside there. It's quite long, because I reproduce a bit of the output. If you just want to see the commands, just to the 'Summary' at the bottom of this page.

Run this 'co' command. As soon as you see some output, hit control-c to stop it:

/tmp$ svn co http://svn.voria.com/code
A    code/ETL
A    code/ETL/releases
A    code/ETL/trunk
  C-c svn: Caught signal

Notice that subversion was putting all the ETL files inside code/ETL/trunk. We don't want the 'trunk' directory, or any other tags or branches, so we use 'switch' to tell it that. Let the command complete:

/tmp$ svn switch http://svn.voria.com/code/ETL/trunk code/ETL/
D    code/ETL/releases
D    code/ETL/trunk
A    code/ETL/ETL.pbproj
A    code/ETL/ETL.pbproj/darco.pbxuser
A    code/ETL/ETL.pbproj/frameworkfix.cpp
[...]
A    code/ETL/README
A    code/ETL/bootstrap
A    code/ETL/ETL.prj
 U   code/ETL
Updated to revision 440.

Then issue the 'update' command, and again interrupt it when it starts pulling in files:

/tmp$ svn update code
A    code/synfig-studio
A    code/synfig-studio/trunk
A    code/synfig-studio/trunk/synfigstudio.mime.in
  C-c svn: Caught signal

Again, use 'switch' to tell svn we only want the trunk:

/tmp$ svn switch http://svn.voria.com/code/synfig-studio/trunk code/synfig-studio/
D    code/synfig-studio/trunk
A    code/synfig-studio/synfigstudio.mime.in
A    code/synfig-studio/macosxbuild.sh
A    code/synfig-studio/AUTHORS
[...]
A    code/synfig-studio/studio.kdevprj
A    code/synfig-studio/NEWS
A    code/synfig-studio/bootstrap
 U   code/synfig-studio/
Updated to revision 440.

And repeat again for synfig-core:

/tmp$ svn update code
A    code/synfig-core
A    code/synfig-core/trunk
A    code/synfig-core/trunk/synfig-core.xcodeproj
  C-c svn: Caught signal

Use switch to select only synfig-core's trunk:

/tmp$ svn switch http://svn.voria.com/code/synfig-core/trunk code/synfig-core/
D    code/synfig-core/trunk
A    code/synfig-core/synfig-core.xcodeproj
A    code/synfig-core/synfig-core.xcodeproj/darco.pbxuser
A    code/synfig-core/synfig-core.xcodeproj/project.pbxproj
[...]
A    code/synfig-core/examples/headmo.sif
A    code/synfig-core/examples/gradient.sif
A    code/synfig-core/examples/candy.sif
 U   code/synfig-core
Updated to revision 440.

Supposing there are some subdirectories which you don't want at all. For example, the next up is synfig-docs. Use control-c again to interrupt the update as soon as it gets started:

/tmp$ svn update code
A    code/synfig-docs
A    code/synfig-docs/trunk
A    code/synfig-docs/trunk/en
  C-c svn: Caught signal

Instead of switching to the trunk, this time we'll switch to 'code/empty', which is an empty directory. This will result in the whole of the synfig-docs/ being ignored:

/tmp$ svn switch http://svn.voria.com/code/empty code/synfig-docs/

D    code/synfig-docs/trunk
Updated to revision 440.

Proceed in the same manner for the remaining directories. I didn't want either of the OSX trees, so I switched those to 'empty' too:

/tmp$ svn update code
A    code/gtkmm-osx
A    code/gtkmm-osx/trunk
A    code/gtkmm-osx/trunk/gtkmm-meta.mpkg
  C-c svn: Caught signal
/tmp$ svn switch http://svn.voria.com/code/empty code/gtkmm-osx/
D    code/gtkmm-osx/trunk
Updated to revision 440.
/tmp$ svn update code
A    code/synfig-osx
A    code/synfig-osx/trunk
A    code/synfig-osx/trunk/launcher
  C-c svn: Caught signal
/tmp$ svn switch http://svn.voria.com/code/empty code/synfig-osx/
D    code/synfig-osx/trunk
Updated to revision 440.
/tmp$ svn update code
A    code/autobuild
A    code/autobuild/trunk
A    code/autobuild/trunk/Makefile
A    code/empty
Updated to revision 440.

Finally, we're finished. 'du' shows us that only ETL, core, and studio have a significant amount of content:

/tmp$ du -sk code/*
44	code/autobuild
16	code/empty
3604	code/ETL
16	code/gtkmm-osx
95628	code/synfig-core
16	code/synfig-docs
16	code/synfig-osx
15420	code/synfig-studio
/tmp$

Summary:

$ svn co http://svn.voria.com/code
hit Control-C when output begins
$ svn switch http://svn.voria.com/code/ETL/trunk code/ETL/
$ svn update code
hit Control-C when output begins
$ svn switch http://svn.voria.com/code/synfig-studio/trunk code/synfig-studio/
$ svn update code
hit Control-C when output begins
$ svn switch http://svn.voria.com/code/synfig-core/trunk code/synfig-core/
$ svn update code
hit Control-C when output begins
$ svn switch http://svn.voria.com/code/empty code/synfig-docs/
$ svn update code
hit Control-C when output begins
$ svn switch http://svn.voria.com/code/empty code/gtkmm-osx/
$ svn update code
hit Control-C when output begins
$ svn switch http://svn.voria.com/code/empty code/synfig-osx/
$ svn update code