LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 04-19-2011, 12:17 PM   #1
alaios
Senior Member
 
Registered: Jan 2003
Location: Aachen
Distribution: Opensuse 11.2 (nice and steady)
Posts: 2,203

Rep: Reputation: 45
Version systems for (very) dummies


Dear all,
Me and my 3 other colleagues we have to write some matlab code for one of our projects.
First is that I am really bad about programming
Second I would like to have a decent way to exchange code between me and my colleagues.

Usually people refer me to version control systems. There are still so many ideas that I do not understand like commit, checkout which seems to be also the case with my colleagues. That's why we never used such a thing.

In my ideal world I would like to be able to upload my latest code so my colleagues to have the latest version available.

Could you please suggest me of such an easy system (that can work with two up to three left clicks?). Could you also give me an easy to read tutorial?

I would like to thank you in advance for your help

Best Regards
Alex
 
Old 04-19-2011, 12:26 PM   #2
dafydd2277
Member
 
Registered: Mar 2010
Posts: 58

Rep: Reputation: 5
Hi, Alex,

Unfortunately, I don't know of any version control system that can be set up with just three left clicks. They all will need to know where to keep their file repositories, how to allow other users to see the code, and similar questions.

I would recommend SVN, primarily because it's relatively simple, and its manual is available for free and is written for people new to version control.

Good luck!
dafydd
 
1 members found this post helpful.
Old 04-19-2011, 03:27 PM   #3
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723
Quote:
Originally Posted by alaios View Post
There are still so many ideas that I do not understand like commit
"commit" just means to save the current state of your files to the repository.

There are lots of guides to version control online, it's not really difficult.
 
1 members found this post helpful.
Old 04-20-2011, 07:14 AM   #4
alaios
Senior Member
 
Registered: Jan 2003
Location: Aachen
Distribution: Opensuse 11.2 (nice and steady)
Posts: 2,203

Original Poster
Rep: Reputation: 45
Dear all I would like to thank you for your answer!

I have started today reading again about this svn functionalities and I found a list of questions that made the use of such systems so bizarre to me.

1. In the manual I am reading it says that the check-out is something that you use before start writing code so to download the latest of available code. Let's say that I am editing a file called myfile.m and accidentaly(or not) I press check-out without commiting anything. Would myfile.m be replace by the file that was before on the server? Will I lose that way any changes I made in myfile.m?

2. Why I need svn update? Is not check out the same thing? What are the differences between the two?

3. One more think that is not very easy for me to comprehend is the notion of a revision. In my manual says that after some time it might be that every single file has it own revision number. In that case if I have three files one can have revision number of 2, the other one of 15, and the third one of 1. How are you sure when you right code that you do have the latest version?

4. Let's say that two users 'download' the latest version of the file called myfile.c. Then both of them have the latest version of the same file.
User one: write some code on the file
and
User two: renames the file to myfile2.c
and both users at the same time do check-in/commit. What will happen to this file? How the administrator or the coding coordinator can afterward merge these two files?

5. How can the users at the same time have their one local working space with trash files, demo versions and at the same submit only one file which might be their own task to do without filling in the server with many trash files?

I know that this might be really time consuming for your to help me understand all these so please reply as many as you want without getting over your time limitations.

Best Regards
Alex
 
Old 04-20-2011, 11:30 PM   #5
dafydd2277
Member
 
Registered: Mar 2010
Posts: 58

Rep: Reputation: 5
Hi, Alex,

1) If you are using a Development Environment that includes a checkout button, hopefully that DE is bright enough to prevent overwriting your code with a new check out. However, that safety is the responsibility of the DE, not the VCS. It won't care what happens in your workspace.

2) "svn checkout" is "I have no copies of this set of code. Please check out a working copy to me."

"svn update" is "I have a working copy of this set of code. Please update my copy with the changes everyone else has made." (At which point, svn will advise you of conflicts between work and others'.)

3) "svn update" will make sure you're at the current revision of any checked out files.

4) SVN will consider these as two separate files. myfile.c will be committed at revision "n+1." myfile2.c will be committed at version 1. In some cases, "svn diff" or "svn merge" will be able to sort out differences. After the differences are reconciled, a new "svn commit" can send the corrected file back to the repository.

5) Working directories can have an .svnignore file in them. You would need one for the top directory and one for every subdirectory. You can set a filter in .svnignore to not add or commit any files ending in, say, .trash.

I hope these help!

dafydd
 
1 members found this post helpful.
Old 04-21-2011, 12:40 AM   #6
alaios
Senior Member
 
Registered: Jan 2003
Location: Aachen
Distribution: Opensuse 11.2 (nice and steady)
Posts: 2,203

Original Poster
Rep: Reputation: 45
Thank you very much! Well explained

Could you please provide me for some easy guis for opensuse and one for windows users(for my windows colleagues?)

Best Regards
Alex
 
Old 04-21-2011, 05:06 AM   #7
alaios
Senior Member
 
Registered: Jan 2003
Location: Aachen
Distribution: Opensuse 11.2 (nice and steady)
Posts: 2,203

Original Poster
Rep: Reputation: 45
Dear all,
I would like to thank everyone for your answers that made it more clear.

I believe that in my/our case I do not need to create (at least for now) any branches. I can start with my colleagues only with one repository and each one updating his own files.

1. Could you please help me understand how I can have a shared folder in the svn and each one to submit his code inside?

This folder will be used as the current development code. I also believe that would be good to have also one more 'folder'(?) to copy inside files that are in a less stable status?
2.Should that be done by snv copy or that is another branch?

3. If I got it right HEAD is the collection of the latest version(revision number) of files stored. Does the head refer only to the svn server or it might be also to the clien'ts working dir?

4. HEAD and BASE might be sometimes the same? For example after a svn update?

5. What is the difference between Commited and Base? Is Commited<=Base ? Usually is a revision smaller than Base and in the best case they have the same revision number?

6. Lets say that I have one folder in my svn server and I create a branch. Immediately after that the folder and the branch contain the same files. What will happen in the case I will check out both my folder and branch to the same working directory? What will happen with some many files with the same into one working local folder?

I would like to deeply thank you again for your kindness

Regards
Alex
 
Old 04-26-2011, 09:21 AM   #8
alaios
Senior Member
 
Registered: Jan 2003
Location: Aachen
Distribution: Opensuse 11.2 (nice and steady)
Posts: 2,203

Original Poster
Rep: Reputation: 45
My system administrator told me that in our company we do not have any svn server but only svn repositories.

What did he mean and what is the difference between the two?

Best Regards
Alex
 
Old 04-28-2011, 07:55 AM   #9
alaios
Senior Member
 
Registered: Jan 2003
Location: Aachen
Distribution: Opensuse 11.2 (nice and steady)
Posts: 2,203

Original Poster
Rep: Reputation: 45
Can someone explain me the option in this dialog menu from kdesvn?

http://img862.imageshack.us/i/m501.jpg/

especially this number, hEAD at the left side.


Best Regards
Alex
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
I don't speak Linux . I need the 'For Dummies' version! And I can't find it! DeesSqueeze Linux - Newbie 17 09-03-2010 04:52 PM
Samba and version control systems Phaethar Linux - Server 1 05-31-2007 06:00 PM
Version Control Systems -Quick Review frankie_DJ Programming 6 10-06-2005 03:56 AM
SUSE Linux 9.3 for Dummies (For Dummies S.) samuelmp SUSE / openSUSE 11 08-01-2005 01:42 PM
Pinnacle Systems Studio MovieBox USB Version 9!?? FreakboY Linux - Hardware 2 06-09-2004 08:03 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 12:49 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration