version control

Soldato
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
Hi guys,

How do you guys control versions of your application during development stage?

I cannot use github as I need my projects to remain private.

I looked into using bitbucket and sourcetree however I do not know how to release versions and there is no clear guide online.

So what do you use?

Thanks
 
Soldato
Joined
27 Mar 2003
Posts
2,710
I use visual studio online. It's free to use for up to 5 users and you can use either tfsc or git as the source control system. The added benefit of being able to release to azure for me is an added benefit but it is the project management side which is the best part so that I can track tasks and bugs etc.
 
Soldato
OP
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
thanks guys....

Unfortunately my projects need to remain private and I am not in a position to pay github to use their "private" feature.

Any other ideas would be appreciated

Thanks
 
Associate
Joined
10 Nov 2013
Posts
1,808
Do you want a cloud solution? We use Subversion at work - it's free (open source) but you need to host the SVN server yourself. We use TortoiseSvn for the client.
 
Soldato
OP
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
its purely to be used by me only....

doesnt have to be in the cloud.

just needs to be "private" and make managing versions easy.

BitBucket and Sourcetree were great until I went to release a version and got involved in branches, tags and all sorts

any other ideas?

thanks
 
Associate
Joined
20 Aug 2010
Posts
1,099
Location
Not Coventry
You can just use Git locally if you are so concerned about privacy. As a RCS Git is flexible enough that when/if you want to add a server (either a private server or in the cloud) then it's only a couple of commands to do.

If you do use Git locally it will provide revision control but not any kind of backup, so you will need to manage that separately.
 
Soldato
OP
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
I use BitBucket and SourceTree and they work great.
What is it specifically that you're finding difficult about releasing a version?


Ok so:-

a) I can clone a project and link it to bitbucket successfully as well as my local development directory...

b) I can also commit and push changes


Lets assume I am working on a project and got it to a certain stage, now I want to release that version, how can I do that? and so everything up to that point is now version 1 and then everything after will be starting on version 2

does that makes sense?
 
Soldato
Joined
18 Oct 2002
Posts
3,926
Location
SW London
I'm not sure exactly what you want, but normally I'd just create a branch for each version.

i.e. have your master branch that you use for regular development.
When you get to a certain point branch version 1 off master.
You then continue committing to master and the version 1 branch remains unchanged.
At a later point create version 2 branch from master, rinse and repeat.

Obviously if you have bugs that you need to fix on old versions, you'll need to push the change onto multiple branches, which is a bit of work. You can do that in Git using cherry pick, which is a simple right click option in SourceTree though.

I assume that's what you're after and I haven't misinterpreted what you need?!
 
Soldato
OP
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
Stick with me I think we are close to nailing it....

So you always work with master branch? even if you have 20 versions?

Then when you want to release an update to your application you do so by creating a branch i.e. version 21 and releasing that?

How do you release just version 1 and not version 2 then?

thanks
 
Last edited:
Soldato
Joined
18 Oct 2002
Posts
3,926
Location
SW London
Generally yes, as the old versions are just that - old, and in the normal case you won't be developing on them.

Each release would be a new branch as you say. You should be aiming to keep master in a state where it's ready to deploy at any point, so you can just cut your branch and that's the new version.
Obviously in the real world you probably wouldn't to cut a branch at any arbitrary point, but if you can keep your master in a good state with automated tests and the like then it becomes easier.

As to the repository thing, what do you mean when you say you deleted them from SourceTree? As far as I am aware that will just delete your local clone of the repository, not the one on BitBucket. You'd need to log in to BitBucket and delete it from there.
 
Soldato
OP
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
I think I get it .....

So I always update my master. Then I release version 1. I then continue updating master and then release version 2. Therefore always commiting and pushing master and when ready just releasing versions along the way??

how do you release version 1? so make it downloadable?

How do you add changes to version 1 only? Based on what you are saying you cannot, you have change the master and then release version 2? is that right?

thanks
 
Associate
Joined
4 Mar 2010
Posts
914
Location
Coventry
I do a similar approach to the above, with one addition.

A Development Branch. Basically any development work gets done on this, then when I am happy with it I move it over to the Master and it is ready to go live. This way any development that doesn't work out 100% does not effect the Master version, which is my baseline LIVE version.
 
Soldato
OP
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
how do you update just the development branch?

how do you release just the development branch?

how do you then merge the development branch into master branch?
 
Last edited:
Associate
Joined
4 Feb 2011
Posts
580
Location
Halifax
Got Gitlab hosted on my dedicated server, absolutely brilliant piece of software.

how do you update just the development branch?

git checkout -b <new/existing branch name>
git push <remote name> <branch name>

how do you release just the development branch?

not sure what you mean by release

how do you then merge the development branch into master branch?

git checkout -b <existing branch name>
git merge <master branch name>
 
Last edited:
Soldato
OP
Joined
2 Oct 2004
Posts
4,362
Location
N.W London
thanks but cannot use anything git as its public, i need to keep projects private

thanks

re: release....

how do you make a branch downloadable in sourcetree?
 
Back
Top Bottom