• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Versioning ... CVS or Subversion?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Versioning ... CVS or Subversion?


  • Subject: Re: Versioning ... CVS or Subversion?
  • From: Don Lindsay <email@hidden>
  • Date: Sun, 11 May 2008 16:17:42 -0400

Hello;

<<Maybe I should have used google, but could you explain me in general
how does versioning work. And how do I work with it. Specifically in
regard to WO development.>>

Versioning allows you to take "snapshots" of your code at a point in time. This is extremely useful if you totally hose part of your project and want to return to a point where some piece of code used to work. Consider it almost a super undo utility.


However, the strength of Versioning comes when you can version your entire project to a release. You can freeze the project at a version 1.0 and then start on version 1.1, where changes you make will not impact the source of version 1.0.

Lets say a bug occurs in version 1.0, which must be fixed. You do not want to have to peel back all the changes you have made to your project for version 1.1 to be able to patch version 1. When using versioning you can open the version 1.0 release of your project, make patches to the source, build it, then check it back in, without effecting your work on version 1.1. With some versioning tools you can then take the changes you made in version 1.0 for the patch and patch them into version 1.1.

Another condition is that I don't have Internet connection at work so
I can't use online repository and have to merge my "homework" using
flash drive anyway. Does versioning system support this?(and which
ones do?)

Well, depending on your operating system and configuration. You could create your repository on a flash drive. However, if you lose the flash drive or it breaks, then you are out of luck you lose your whole repository. Any versioning tool can create the repository on any valid drive on your system, including flash drives. I wouldn't recommend doing this.


- I can't imagine versioning system without IDE integration. how does it work?

All versioning tools come with command line executables to allow you to interact with a repository. The commands are different for each versioning tool. Typically, an IDE will use the executables to interact with a versioning tools, in some cases libraries are used by an IDE as well. If an IDE does not support the versioning tool, that you select, you will have to check-in, check-out, version, pin and branch manually using the executables or tools provided by the versioning tool, outside the IDE. (I.E. drop to the command line or use a browser)


- If you say it is that good with Mac OS X integration and coming
really soon - maybe I could wait a bit and start my versioning
experience with something really cool?


"Maybe I should just wait" are famous last words for a developer. You can always migrate from one tool to a new versioning tool. If your project is at all important implement versioning right away.

Don

On May 11, 2008, at 3:50 PM, Gennady Kushnir wrote:

Thank you all for your opinions.
I see all hands are for SVN except built in Eclipse integration.

Maybe I should have used google, but could you explain me in general
how does versioning work. And how do I work with it. Specifically in
regard to WO development.
Does it archive only java sources? And how about components, EOmodels
and other related resources (which can also have versions)?

Another condition is that I don't have Internet connection at work so
I can't use online repository and have to merge my "homework" using
flash drive anyway. Does versioning system support this?(and which
ones do?)

And questions to Miguel:
- where I can find that "very good open source book that documents everything" ?
- I can't imagine versioning system without IDE integration. how does it work?
- If you say it is that good with Mac OS X integration and coming
really soon - maybe I could wait a bit and start my versioning
experience with something really cool?


Gennady

2008/5/11 David Holt <email@hidden>:
Coincidently there is a new podcast about version control:

http://www.macdevnet.com/index.php/shows/mdr/38-mdr/366-mdr007

David




On 11-May-08, at 11:23 AM, Oliver Scheel wrote:





In fact, CVS was build upon RCS which is already some decades old. The
projects where much smaller and the internet was still academic.

I worked a very long time with CVS and it would still do the job. Now I
only use SVN for my projects, because it's now stable enough and widely
spreaded. Yes, SVN solves a lot of issues in CVS.

But there are some very bad issues with SVN:

A broken CVS repository or working copy can be fixed very easily. With SVN
you MUST make backups/dumps with svnadmin! Otherwise it might be easier to
rewrite your 10 men year project from scratch ;-)

With the switch from svn 1.2 to 1.3 (or 1.3 to 1.4) the format of the
working copy was changed, WITHOUT guranteeing backwards compatibility and
WITHOUT WARNINGS when accessing an older working copy (sic!!!!). If you were
not aware of it, you destroyed the states of working copy with one click. In
one project we need to use a "shared working copy" because it was not
possible to work on dedicated machines. The svn clients were installed on
each client. I don't need to tell you the rest of the story... ;-)

Oliver

P.S.: And, there is still some magic behind SVN :-)

Am 11.05.2008 um 19:43 schrieb Miguel Arroz:


Hi!

Yes, do DO need a version control system. Zipping and flash drives are
an excellent way to burn yourself with mistakes and lossing work.

There are some more version control systems, namely GIT. I still didn't
look at it. It's the system used to manage the Linux kernel source code, and
people say it basically can do anything (which might be good or bad).
Specially, merging several code forks seems to be easier than CVS and SVN.

Anyway, between SVN and CVS, you want SVN, period! Let's say that, the
first time I used a version control system (and that was CVS) I only
committed stuff with other people looking over my shoulder to make sure I
was not going to screw things up. CVS just doesn't make any sense, at least
for me, there are too many things that are not done the way they should.

On the contrary, SVN is what CVS should have been. It's clean, it works.
The main difference is that SVN considers a "version" to be the state of all
the files tree. IE, you know that version 234 of your code repository means
ALL the tree is in the version 234, it's like a "snapshot" in time. CVS uses
a different and independent version number per file, which makes things
chaotic. You may have a file in version 25 (because you changed it 25 times)
and another file in version 3 (you changed it 3 times) that were actually
added to the rep at the same time. It just doesn't make any sense, again, at
least for me. Also, SVN has a very good open source book that documents
everything.

About IDE integration and software, I don't use the eclipse plugins,
because I'm lucky enough to be a alfa-beta-whatever-user of a new GUI for
SVN that is coming on for Mac OS X really soon now, and that I simply love.
But I can't talk about that right now or I'll be killed.

Yours

Miguel Arroz

On 2008/05/11, at 14:33, Gennady Kushnir wrote:


Hello list.
I'm thinking about using some versioning system.
Trying to decide whether I do need one and if yes - which one.
I've heard something about CVS and Subversion. Maybe there is some
other...
What are advantages and disadvantages of versioning in general and of
concrete solutions.
I work on Eclipse, I've seen it does support some versioning.
Today I just zip my workspace and put it on my flashdrive. As I work
both at home and at work I have to synchronise my work.
In most cases when i come home I just trash my obsolette workspace and
unzip the one I brought from work.
But this approach has disadvantages...
first - the whole workspace (even zipped) consumes rather much disk
space (a lot more than just source codes) so my version repository
bosomes very large - when I used xCode it was much more compact as I
excluded build folder.
and second - if I forget to zip workspace and put it to my flashdrive
- than if do something after that - I have to thoroughly merge my work
after that.
Will versioning sistem help with these problems?
Another point is that today I work alone. But maybe in future I will
find some collaborator. As i understand - vesioning should help in
group work.


Interested in your opinions
Gennady Kushnir
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:


This email sent to email@hidden


Miguel Arroz http://www.terminalapp.net http://www.ipragma.com



_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription:


This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@mac.com


This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Versioning ... CVS or Subversion? (From: "Gennady Kushnir" <email@hidden>)
 >Re: Versioning ... CVS or Subversion? (From: Miguel Arroz <email@hidden>)
 >Re: Versioning ... CVS or Subversion? (From: Oliver Scheel <email@hidden>)
 >Re: Versioning ... CVS or Subversion? (From: David Holt <email@hidden>)
 >Re: Versioning ... CVS or Subversion? (From: "Gennady Kushnir" <email@hidden>)

  • Prev by Date: Re: Versioning ... CVS or Subversion?
  • Next by Date: Re: Versioning ... CVS or Subversion?
  • Previous by thread: Re: Versioning ... CVS or Subversion?
  • Next by thread: Re: Versioning ... CVS or Subversion?
  • Index(es):
    • Date
    • Thread