JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

source control software

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Software
View previous topic :: View next topic  
Author Message
yaworski



Joined: 22 Jun 2014
Posts: 454
Location: Warsaw, Poland

                    
PostPosted: Sat Jul 12, 2014 1:10 am    Post subject: Reply with quote

Graham,
Do you use some source control software? I'm thinking about using a private git repository on bitbucket.org (free account allows to give access to up to 4 more people to a private repo). It would be easier to manage, fix and enhance the code having more people capable of doing so.

Or maybe you already have whole RMIR under source control then would it be possible to have access to it?
Back to top
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Sat Jul 12, 2014 6:22 am    Post subject: Reply with quote

Marcin, the whole RMIR project is under source control in an SVN repository here. It can be downloaded by anyone but modified only by authorised developers. The project is owned by Greg Bush (gfb107), who was essentially the sole developer of it for many years before I got involved. Development is now largely by me, but all new contributors are very welcome. It is just that we don't get many offers. Vyrolan came in for a short time, made some very helpful additions but then disappeared again when family commitments meant he could no longer spare the time.

You first need to register as a Sourceforge user. I think I have the authority to add you as a developer, though I have never tried to do that for anyone. If you let me have your User ID when you have registered, I will try to do so, otherwise we will need to contact Greg, who has little time available for the project now. Be aware that I hate SourceForge and have as little to do with it as possible. Everything can be done through Eclipse.

There is more info in this post by Greg, from the time my involvement started. It is developed with Eclipse. It is still using Java SE 6 with Swing. You will need to download the Java SE 6 JDK for use with Eclipse. Please don't try to upgrade it to SE 7 or later if you want me to remain involved. This is a hobby for me in my retirement. I am not, and never was, a computer professional. I learned Java in order to work on this project. I already realise that you know more about Java than I do. Welcome to the project. I hope you enjoy it and remain involved after we have finished getting Simpleset support working.

BTW What is git? I keep seeing about it in Eclipse but have no idea what it is. Embarassed As I said, I am an amateur and just learn what I need as I go along.
_________________
Graham
Back to top
View user's profile Send private message
yaworski



Joined: 22 Jun 2014
Posts: 454
Location: Warsaw, Poland

                    
PostPosted: Sat Jul 12, 2014 6:41 am    Post subject: Reply with quote

Graham I haven't been using SVN for a long time now but if I need to use it then there shouldn't be a problem.

GIT is a decentralized SCM system which is created by Linus Torvalds mainly for Linux Kernel development as he haven't been happy with the system they used before. It is now very mature system and is still in active development so new features are popping from time to time :).

The most significant difference from the SVN is that it is decentralized: a working copy is also a repository at the same time (top directory under GIT has .git directory which holds full cloned git repository with full history).

When you do commits, checkouts, branches etc (the nomenclature is slightly different from SVN) you actually only make changes to your local repository. You can also add upstream repositories (there can be multiple upstream repos, they are called remotes in GIT and main remote is usually called origin) to which you sync yours by using fetch, pull and push commands.

You can choose what you want to push into upstream repository so you can have multiple local branches which you use for fixes and new features and when you want to share the changes with others you merge it for example into master branch and push it into upstream repository. Then for example I can do fetch or pull into mine local repo and I get all the changes and history you've created in yours.

I really encourage you to learn more and maybe use it. I use it for my projects even when I'm not using remote repos as I can have local history of changes with ability to try some things on separate branches. And if I want to push it later into remote repo then the remote repo also has whole commit history.

BTW there are tools to import and convert whole SVN history into GIT and also connectors that allows to use local GIT repo with SVN as remote (but there are some limitations).

Bitbucket and GitHub are services where you can register and create your own remote repos. GIT by default uses SSH protocol to access remotes so you need to create your own public/private SSH keys and you paste public key to your Bitbucket/Github account and use private key with GIT client to get access. So it is more secure by default than SVN where you mainly use usernames and passwords.

Bitbucket allows to create private repos with up to 5 members for free with different access permissions (admin, write, read). I can create a Team and add you as admin to it if you want to try.

---edit---

If you are interested in using GIT then I can tell you more and help learn it. Just let me know and I can tell you more privately as this thread is probably not the best place for it :)
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21237
Location: Chicago, IL

                    
PostPosted: Sat Jul 12, 2014 11:39 am    Post subject: Reply with quote

mathdon wrote:
Be aware that I hate SourceForge and have as little to do with it as possible.

Hi Graham, I don't think there's any reason to stay with SourceForge if you think it's time to move to a different platform. I think it's fair to say that you have assumed ownership of RMIR from Greg, so I think the decision is yours.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Sat Jul 12, 2014 1:18 pm    Post subject: Reply with quote

The Robman wrote:
Hi Graham, I don't think there's any reason to stay with SourceForge if you think it's time to move to a different platform.

There is a lot of sense in the saying "if it ain't broke, don't mend it". I would prefer to stay with Sourceforge and SVN than have to learn something new. Better the devil you know. I may hate it, but I hardly ever have to have anything to do with it. Eclipse does all the interaction with it, I just do Commits to and Updates from it from the Eclipse menus. If SourceForge is hell, Eclipse is heaven Very Happy .

Quote:
I think it's fair to say that you have assumed ownership of RMIR from Greg, so I think the decision is yours.

Kind of you to say so, but I don't know whether Greg would agree and it is not something I want. Ownership implies a responsibility that I don't want to have. That really would entail learning how to use SourceForge properly.
_________________
Graham
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21237
Location: Chicago, IL

                    
PostPosted: Sat Jul 12, 2014 2:45 pm    Post subject: Reply with quote

ha ha, cool enough, SVN stays Smile
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Wed Sep 17, 2014 10:39 am    Post subject: Reply with quote

mathdon wrote:

There is a lot of sense in the saying "if it ain't broke, don't mend it". I would prefer to stay with Sourceforge and SVN than have to learn something new. Better the devil you know. I may hate it, but I hardly ever have to have anything to do with it.


I couldn't agree more...and I happen to be rather pro-Git. Git is an amazing system with tons of features and is very powerful, but SVN absolutely crushes it on simplicity and ease-of-use. We use Git at my work, and there are still a ton of the devs that don't know it well and just know what pre-canned things to type to make it SVN-like...and then they need the help from one of us if something gets messed up.

To yaworski...when I've worked on RMIR, I actually just used git-svn on top of the sourceforge... That way I could use Git locally and do whatever I want...but still easily pull/push with the SF SVN. I just keep a Git branch that is in sync with the SVN and I can rebase my work onto that to pull stuff others have done...and I can squash merge my work on top of it to push back to SVN as a single commit. It worked well for me...YMMV.
Back to top
View user's profile Send private message
yaworski



Joined: 22 Jun 2014
Posts: 454
Location: Warsaw, Poland

                    
PostPosted: Wed Sep 17, 2014 10:53 am    Post subject: Reply with quote

@Vyrolan: I've also used git-svn. The ability to keep commits locally on topic branches is just awesome :). I agree that Git is not as simple as SVN, but there are places where Git can actually be simpler to use than the SVN. One of such things is branching. In SVN it always was based on separate directories in repo and proper support for merging (with tracking of merged branches) appeared relatively late. On the other hand Git had proper branching and merging from the start. It takes what's best from multiple other VCS.

I've worked with CVS, SVN and even Microsoft's Visual SourceSafe (it was awful but it was a long time ago now so maybe it's better now). I've tried to use Mercurial, but it was a little strange to me :). Git is my "weapon" of choice.
Back to top
View user's profile Send private message
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Wed Sep 17, 2014 12:57 pm    Post subject: Reply with quote

yaworski wrote:
One of such things is branching.

That's a common example, but I don't necessarily fully agree. I think branching is overrated. Don't get me wrong I love branches and actually a prefer a setup like git-flow, but in general I think the branching power of Git is widely abused. At my work we have many devs working on lots of sophisticated software, but you still rarely if ever see a branch (other than master of course) with commits from multiple people. If people work together, they tend to do it in pairs and only one guy commits. Very very few teams have the organization, discipline, and desire to have lots of shared topic branches going...so all the power is for naught. An online collaboration is of course potentially very different...but even then you probably only need a small number of branches and SVN's capabilities are probably up to the task.

The bigger advantage of git IMHO is the ability to commit locally versus the remote. I can work (on the master branch) over time and make a lot of commits locally so that I always have to rollback or diff between any of those commits, but they aren't yet on the server until I decide to push some/all of them. SVN made that very hard IMHO.

yaworski wrote:
I've worked with CVS, SVN and even Microsoft's Visual SourceSafe (it was awful but it was a long time ago now so maybe it's better now). I've tried to use Mercurial, but it was a little strange to me Smile. Git is my "weapon" of choice.

I've worked with all of those as well...my firm has transitioned from VSS when I started to SVN and now to Git. I definitely use Git as my go-to choice as well, but I can fully respect SVN as a choice.


TBH I think the best thing about SVN is that it does hit the sweet spot of function and ease. I have been consistently amazed at incredible developers that have put out awesome software but can't begin to grasp Git (or don't even care to try). They really do operate with the super simple workflow of "I have a starting point, I make changes, I commit the changes". I feel like the newer developers are always chomping at the bit for branching and all these other fancy features of Git (and this goes for other SDLC tooling) and they end up spending more time getting ready to work than working. Meanwhile the guy in the corner who doesn't even know what a branch is or how to change his screensaver is pumping out great stuff.
Back to top
View user's profile Send private message
yaworski



Joined: 22 Jun 2014
Posts: 454
Location: Warsaw, Poland

                    
PostPosted: Wed Sep 17, 2014 1:29 pm    Post subject: Reply with quote

I also don't do many shared topic branches, but local ones are a different story. I often write some functionality locally on a topic branch and I can fully retain the ability to just check out the master branch to make some quick changes and fixes. I'm also a big fan of branch rebasing in comparison to merging (of course as long as that branch haven't been pushed upstream). Thanks to that I can still keep mostly linear history of changes. There are some situations that I can't escape without doing full merge but it actually happens rarely.

This actually resembles the way git-svn works as it also uses rebase when updating from upstream SVN repo to keep the history linear.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Software All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control