Re: Versioning ... CVS or Subversion?
Re: Versioning ... CVS or Subversion?
- Subject: Re: Versioning ... CVS or Subversion?
- From: T Worman <email@hidden>
- Date: Sun, 11 May 2008 14:02:00 -0700
Gennady:
I'll answer from my experience but defer to others that have used
Eclipse longer too. "Answers" to questions that haven't been addressed.
1. how to work with it? - multiple ways. Either via the command line,
or some software front end (like the one that was mentioned). An
available Eclipse plug-in would mean that Eclipse itself becomes aware
of the state of your repository and can report that to you while
you're working. For instance, when I work with eGit I can see which
"branch" or version of my project I am currently editing and it can
also show me change histories, etc.
2. does it archive only java sources? - the versioning system you
choose will track whatever you want it to. Actually, it will include
pretty much everything in the directories you place under version
control - so you will probably have to exclude what you don't want. On
Mac OS X you'd want to exclude all .DS_Store files. And since you work
in Eclipse you'd want to exclude project directories like dist, build,
etc.
3. don't have internet - eventually you have to have a redundant
backup of your repository. CVS and SVN are both systems that are
typically used with online access - your code is usually checked into
and out of a "remote" repository. Make sure that repository is backed
up! The default with GIT is that you work with a local, full
repository with the entire change history included. So, this would
meet your restrictions well. You'd normally push your changes into a
remote shared repository as well - so redundant copies of the full
repository. But, you could use your entire GIT repository locally
without network access and back it up to your flash drive. Currently I
am doing exactly this except that my backup happens with Time Machine.
I agree with what the others have said. Start versioning your code
now. Here's a page that talks about the differences between GIT and SVN.
http://git.or.cz/gitwiki/GitSvnComparsion
Again, the SVN plugin for Eclipse is more mature than the one for eGIT
- but I'm liking it.
Tim
On May 11, 2008, at 12: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:
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