Question What version control system do you use in add-on development?

What version control system do you use in add-on development?

  • CVS(NT)

    Votes: 1 2.3%
  • Subversion/SVN

    Votes: 13 30.2%
  • Visual Source Safe

    Votes: 0 0.0%
  • other conventional (centralized) VCS

    Votes: 1 2.3%
  • Bazaar

    Votes: 1 2.3%
  • Git

    Votes: 6 14.0%
  • Mercurial

    Votes: 7 16.3%
  • other distributed VCS

    Votes: 0 0.0%
  • ZIP archives or folder copies

    Votes: 11 25.6%
  • Huh? What is version control?

    Votes: 12 27.9%

  • Total voters
    43

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,639
Reaction score
2,354
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
I disagree with subversion being good for branching/merging. I'd say it's adequate, but one of the things that I dislike about subversion is its design of "a branch is a copy operation". It doesn't really work properly the way that branching should, and if you do anything that's got large merges in then it just descends into chaos. Git's merging is far superior. And tagging is terrible in subversion - you should not be able to modify a tag! But I do agree with you that git's revision number is a lot easier to work with than git's hashes.

I am not sure what you mean there, but I didn't yet use Git as pure Windows developer.

Merging/Branching: Before Version 1.7.x it was a major PITA. Now and with FSFS3, it is pretty harmless. I don't even need to know the revisions to merge anymore.

Tagging: Does what was advertized. I can get the source code of a release back anytime without long searching. A classic one-way branch. Modifying a tag is so complicated, that it can be considered impossible. I never accidentially modified a tag yet...

We can't use a DVCS at work, simply because a central repository of the sourcecode with the properties of a Subversion repository is required from our customers. Its their source code, after all, even if we write it.

At home, a local subversion repository is still more annoying than getting the same done in Mercurial. And I could still exchange code with other Mercurial users.
 
Last edited:

agentgonzo

Grounded since '09
Addon Developer
Joined
Feb 8, 2008
Messages
1,649
Reaction score
4
Points
38
Location
Hampshire, UK
Website
orbiter.quorg.org
Merging/Branching: Before Version 1.7.x it was a major PITA. Now and with FSFS3, it is pretty harmless. I don't even need to know the revisions to merge anymore.
In which case, my info is out of date. I think the last time I used subversion was back at v1.5 or 1.6 so apologies - I retract my comment (it was hard to do merges at the time though!).

Tagging: Does what was advertized. I can get the source code of a release back anytime without long searching. A classic one-way branch. Modifying a tag is so complicated, that it can be considered impossible. I never accidentially modified a tag yet...
Again, my info may be out of date, but back in v1.5/1.6 (I forget which) and before, there was no difference between tagging and branching, except for the name. My problem that I had with tags was that you could create a tag (absolutely fine at that point, does exactly what it needed to) but the after that you could do a commit on top of the tag, essentially making the tag a mutable object which is not the point of a tag.

Also, have they fixed rename in subversion yet (so that it's no longer a copy-delete function that plays havoc with the history?)
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,639
Reaction score
2,354
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Also, have they fixed rename in subversion yet (so that it's no longer a copy-delete function that plays havoc with the history?)

Not that I know. History is still beginning where the new file started, but the integrity of the subversion is kept in any case, contrary to previous versions.
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
I disagree with subversion being good for branching/merging. I'd say it's adequate,...
I don't have any experience in merging/branching with git, so no comparison by me between these two.
I did compare it to CVS (CS-)RCS in my mind and compared to those, SVN is a BIG difference ;)
Sometimes SVN behaves a bit strange in merging, when you don't work to the rules (whatever they are), but @ work I am constanty managing project sources with 3684 files spread over 503
[*] directories and that was a real "pain in the aft compartment" with those old ones.

...And tagging is terrible in subversion - you should not be able to modify a tag!
I totally agree with you here! SVN handles trunk, branches & tags like any other (sub-)directory. Their reasoning is, that this makes it easier to implement or create "multiple project" branches/tags/trunk.
You just have to control yourself (and your collegues) to _not_ commit to a tag after first creation[**].

[*] as of today/now :-D
[**] it's avoided @ our company via hook-scripts to minimize the risk ;)
 
Last edited:

Notebook

Addon Developer
Addon Developer
News Reporter
Donator
Joined
Nov 20, 2007
Messages
11,818
Reaction score
641
Points
188
What is version control?....

N.
 

kamaz

Unicorn hunter
Addon Developer
Joined
Mar 31, 2012
Messages
2,298
Reaction score
4
Points
0
Among these, which is the one you'd suggest to a noob who never used such a system and doesn't want to be intimidated?

If you're on Windows, download TortoiseSVN, create a repository on your own computer, and play with it. If you find it too limiting (mainly with respect to branching and merging) then start looking at git or mercurial.

SVN is used more in corporate settings, because companies like centralization, git and mercurial are used more in open source, because open source does not like centralization.
 
Last edited:

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
Many thanks for the feedback.

As I can see, the majority of developers (at least those active here on the forums) either use Subversion (in a more or less "private" environment) or no version control at all (because they don't know what it is to start with).

Would it make sense to start a blog series about why and how I'm using DVCS to develop add-ons, or would that just be a waste of time because everybody is happy with the way it is, anyway?
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,639
Reaction score
2,354
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Would it make sense to start a blog series about why and how I'm using DVCS to develop add-ons, or would that just be a waste of time because everybody is happy with the way it is, anyway?

Well, for those developers who are already using a VCS, it would make not that much sense. But for beginners, it could be helpful, to explain why a DVCS is a very useful tool.

But I don't really feel like I would love to see DVCS evangelism... so stay right on topic there and don't waste time explaining what the difference between Subversion and Git is. :lol:
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
I use mercurial and TFS (btw I couldn't find it in the list hence "other conventional (centralized) VCS").
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
Well, for those developers who are already using a VCS, it would make not that much sense. But for beginners, it could be helpful, to explain why a DVCS is a very useful tool.

But I don't really feel like I would love to see DVCS evangelism... so stay right on topic there and don't waste time explaining what the difference between Subversion and Git is. :lol:

This is something I don't want to do, anyway. I'm not going to preach why DVCS is a very useful tool, because this would end in explaining why it is a more useful tool than CVCS, and so on. That this happens and that it is annoying for all participants I am quite aware of.

What I can do is explaining how I am doing Orbiter add-on development with DVCS. A very specific use case, so to say. What I certainly don't want to do is discussing at length why X is better than Y (and why Git is superior to everything else and might even cure cancer :p). There are many, many places on the internet where you can do that better than here.

The poll showed evidence that it might get its audience (the folks that checked the last option), so that's that.
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
What I certainly don't want to do is discussing at length why X is better than Y (and why Git is superior to everything else and might even cure cancer :p). There are many, many places on the internet where you can do that better than here.
That's because it is not :) TFS beats every other SC, especially in middle-to-large scale development by being a fully integrated environment.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
That's because it is not :) TFS beats every other SC, especially in middle-to-large scale development by being a fully integrated environment.

Hehe. See what I mean, Urwumpe? I could now start to go on with asmi about it, and it would not go anywhere but reciting the same arguments you can find all over the net time and time again. Doesn't make sense...

If I start such a blog post, it will just describe what I am doing and why, but not why something somebody else is doing is bad. If that would serve no purpose but sparking discussions, I'd rather forget about it and let all others figure it out for themselves.
 

SiameseCat

Addon Developer
Addon Developer
Joined
Feb 9, 2008
Messages
1,699
Reaction score
1
Points
0
Location
Ontario
TFS beats every other SC, especially in middle-to-large scale development by being a fully integrated environment.
Unless you're writing Java. Or on a Linux computer. Or anything else that doesn't involve Visual Studio. BTW, as far as Visual Studio integration goes, AnkhSVN is just as good as TFS.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,639
Reaction score
2,354
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
That's because it is not :) TFS beats every other SC, especially in middle-to-large scale development by being a fully integrated environment.

You don't know how many asteroids dropped from our chests after we finally had the chance to abolish TFS for one inherited project for something that works. :lol: (Now we are using SVN + Jenkins for everything, regardless of platform or language, if things really get big, we would use HP ALCM).

Face: Its almost as bad as emacs vs vim. :cheers:
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
Unless you're writing Java. Or on a Linux computer. Or anything else that doesn't involve Visual Studio. BTW, as far as Visual Studio integration goes, AnkhSVN is just as good as TFS.
No, on my previous project we were using TFS for Java devs as well (through Eclipse plugin). It worked just fine. The build engine doesn't care what kind of technology you use - as long as there are toolchains installed and configured.

You don't know how many asteroids dropped from our chests after we finally had the chance to abolish TFS for one inherited project for something that works. :lol:
Oh yea, I've seen ppl saying that. In all cases it turned out that these guys simply didn't know how to use it. :lol: If you use TFS as SC only, then you don't know how to use this awesome tool :tiphat:

P.S. I smell a FLAME :cheers:
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,639
Reaction score
2,354
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Oh yea, I've seen ppl saying that. In all cases it turned out that these guys simply didn't know how to use it. :lol: If you use TFS as SC only, then you don't know how to use this awesome tool :tiphat:

Oh, we had great people for that. We even had experts to ask in the company. All recommended the change. If you need a team meeting to find out which change set was involved for the next merge, you know something is wrong.

I know that TFS also handles incident management, release management and change management - but all in a very poor and work intensive way. TFS appeared for us to be just a way to increase the number of project management hours for every work package.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
It's cool, folks. Thanks for presenting examples for my argument. You can stop it now. :p

We all know that X is superior to Y because of argument Za up to argument Zz. Please substitute as you see fit and be happy with it. I'd hate it to see this poll closed due to too much off-topic discussion.
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
I know that TFS also handles incident management, release management and change management - but all in a very poor and work intensive way. TFS appeared for us to be just a way to increase the number of project management hours for every work package.
That is exactly what I meant by saying "you don't use it properly". All work items, workflows are fully customizeable, and once you configure TFS to tailor it to the practices that are adopted by your company, you'll forget that there are other tools for that purpose. Setting this up is an investment, but it pays off really quickly.

---------- Post added at 10:29 ---------- Previous post was at 10:28 ----------

We all know that X is superior to Y because of argument Za up to argument Zz. Please substitute as you see fit and be happy with it. I'd hate it to see this poll closed due to too much off-topic discussion.
Sorry, Face, but I fail to see how discussing SCs can be an off-topic in the topic that discusses SCs :)
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
Sorry, Face, but I fail to see how discussing SCs can be an off-topic in the topic that discusses SCs :)

The poll question is "what version control system do you use", not "what software configuration systems do you think is the best". I see a difference here, but of course that is only me.
 
Top