Page 1 of 2

Git Poll & Discussion about Version Control Systems

Posted: Sat Aug 01, 2015 4:44 am
by Shield
Hey Guys!

Just a little poll out of personal curiosity. :)

Are you using Git for your PureBasic projects?
http://www.poll-maker.com/poll375832x0eE14276-14

Of course discussions and personal opinions are welcome!


Cheers,

Shield.

Re: Git Poll

Posted: Sat Aug 01, 2015 5:32 am
by Danilo
Shield wrote:Are you using Git for your PureBasic projects?
http://www.poll-maker.com/poll375832x0eE14276-14

Of course discussions and personal opinions are welcome!
Generally I think such OpenSource repositories are more useful for codes where
the compiler system is also open source. Otherwise it's of limited use, if you make
something OpenSource on such a big public site, and people can't freely use it
because it requires a closed-source, commercial product.
That somehow limits the freedom of the "free" in open source. Not everyone
is able to use such codes freely.

Beside that general thought, I started using Git when I came to MonkeyX,
because many users there have libs and frameworks at Github and BitBucket.
Same with many BlitzMax modules.
Many users also used Google code, but most are moving to GitHub now,
because Google Code is closing anyway.

In the PB community very few guys put libs at GitHub and announce it here.
Most things are made available at the Tricks 'n' Tips section, and get changed
and discussed there, including bug reports etc.
After getting used to git, I also thought about putting some of my PB stuff
at GitHub, but I'm not sure many users here would use that. They are used
to use just the forum.

[X] Yes, I am using Git. But not with PB, yet.

Re: Git Poll

Posted: Sat Aug 01, 2015 5:43 am
by Shield
I agree with your points. However, the question wasn't about open source projects. :)
Personally I barely publish anything as open source. Most of my code is personal or work-related,
yet I'm still using Git because it's IMO the best VCS for software projects.
[X] Yes, I am using Git. But not with PB, yet.
I should have put in this option as well.

Re: Git Poll

Posted: Sat Aug 01, 2015 5:50 am
by Danilo
Shield wrote:However, the question wasn't about open source projects. :)
Sorry, I misunderstood that. Probably because I like to write libs, imports etc.,
and make it available for free to everyone. I will put my upcoming MX stuff on
GitHub, like I made PB codes available for free at the forums here over the last 15 years.
That's what I was talking about. For personal projects, I just use local directories and
zip those directories for backups (local PC, NAS, web space).

Re: Git Poll

Posted: Sat Aug 01, 2015 7:53 am
by Shield
I should rephrase it: the question wasn't exclusively about open source projects.
We can certainly talk about this issue in this thread since there probably isn't too much to talk about otherwise. :)
(I have changed the title of the topic)

Having more PB presence on Github would certainly nice. I'm trying to get a little insight with this poll
on how many active members use Git or another kind of VCS. Even though the numbers won't have much meaning,
it should still be informative to a certain degree:

Is it not useful for PB? Is it too difficult to use or get into? Do PB devs simply think that it's not convenient enough?
Why is that? What can be done about it? Some questions that I think would be interesting to be answered.
Danilo wrote:I made PB codes available for free at the forums here over the last 15 years.
I'm also lurking around the forums for over a decade by now. I'm not nearly as involved as you were
and I've also moved on to other languages a long long time ago, yet I can't leave this community behind. :)

I think there is much room for improvement in this community regarding collaboration.
The PB community is generally very eager to help and participate, but the Tricks 'n' Tips section just
isn't the right place for the development of something larger than a function or a single file.

PBOSL was a good start but eventually failed due to the lack of participation and maintenance.
What's needed for open source projects is a small team of maintainers and a bunch'o'guys doing
pull requests on existing code for review.

Then again, this is a rather small community so maybe the old ways are the path to follow. :)

Re: Git Poll

Posted: Sat Aug 01, 2015 8:21 am
by Little John
Danilo wrote:Generally I think such OpenSource repositories are more useful for codes where
the compiler system is also open source. Otherwise it's of limited use, if you make
something OpenSource on such a big public site, and people can't freely use it
because it requires a closed-source, commercial product.
That somehow limits the freedom of the "free" in open source. Not everyone
is able to use such codes freely.
In principle, I agree with this.

However, for one of my free programs, users have requested that I make it open source. And I personally want that program to outlive me. If the source code is open, people have the option to translate it to other languages.
As soon as I have the time, I'll first make the code better readable, and then I'll (try to) put it on Github. I hope it's not too difficult to get into it.

Re: Git Poll

Posted: Sat Aug 01, 2015 4:10 pm
by skywalk
Shield wrote:However, the question wasn't about open source projects. :)
Personally I barely publish anything as open source. Most of my code is personal or work-related, yet I'm still using Git because it's IMO the best VCS for software projects.
I find Fossil to be ideal for my projects.

Git was developed to support very large software(linux kernel) projects across large teams. Fossil was developed to support smaller projects(SQLite) amidst a close knit team. For this reason, both have diverging utility and ease of use issues when scale is considered. Git is overkill and unnecessarily complex for all but the largest of projects. And there are many competitors/offshoots/front ends to its market(Mercurial, Perforce, Subversion, CVS, etc.).

Fossil keeps all your changes in a single SQLite db.
Git is a bunch of files and folders.
Git relies on 3rd party apps for its gui, bug tracker, and wiki.
Fossil has them built-in.
Setting up a Git server(remote repository) with user permissions requires many lines and intimate OS knowledge.
A Fossil server(remote repository) can be set with 1 or 2 lines.

Re: Git Poll

Posted: Sun Aug 02, 2015 11:23 am
by Shield
Git is not that difficult to understand once you spent some time learning it.
Granted, it gets more complicated if you want to do very specific things,
but for my workflow everything I need can be learned in about ten minutes time:
clone, commit, push, pull, checkout, branch, reset. I do not use GUIs but the command line instead.

Deployment time of a system is not really an argument since all of this can be automated
and is irrelevant considering all other tasks that have to be done to finish a project.
Also, clicking on "New Repository" on Github or Bitbucket can hardly be called difficult. :)

I didn't try out Fossil but after CVS and SVN I'm glad I found myself using Git.
The thing is that it doesn't really matter what people use as long as people do version management.
It took me a long time to realize the value of such systems.

According to the poll so far it looks like most people that answered don't use VCS for their projects.
I'd like to know if there is a specific reason or if people just never tried and don't want to bother with it.


Edit: now I updated the title of the topic for real.

Re: Git Poll

Posted: Sun Aug 02, 2015 1:05 pm
by Danilo
Shield wrote:According to the poll so far it looks like most people that answered don't use VCS for their projects.
I'd like to know if there is a specific reason or if people just never tried and don't want to bother with it.
Git or similar systems are very useful for collaboration, but if you write something on your own,
it can get annoying to additionally do checkout, commit, etc. (because the files are protected).
Every time you want to change and add something, you have to checkout and commit it - that's an
additional management layer that takes time from you. So, as long as you work alone, it may not have
enough benefits to take time from you required for the additional management. It may just be annoying. ;)

Re: Git Poll & Discussion about Version Control Systems

Posted: Sun Aug 02, 2015 2:43 pm
by Shield
It isn't, really. It all depends on your intentions on how you want to use the VCS if you're developing by yourself.
- If you care about a clean history and a way to reproduce your work and roll back in case
something broke, you might want to make more frequent commits.
- If you just care about your work being backed up and easily shared between different computers,
it's enough to just commit once when you're done.

But sure, everyone has to decide by himself / herself what additional work is justifiable. :)

Re: Git Poll

Posted: Sun Aug 02, 2015 2:52 pm
by freak
Danilo wrote:Git or similar systems are very useful for collaboration, but if you write something on your own,
it can get annoying to additionally do checkout, commit, etc. (because the files are protected).
Every time you want to change and add something, you have to checkout and commit it - that's an
additional management layer that takes time from you. So, as long as you work alone, it may not have
enough benefits to take time from you required for the additional management. It may just be annoying. ;)
You can also use it to "collaborate" with yourself. I do it often for cross-platform development: One repository on the Windows machine and a clone on the Mac and inside the Linux partition. I can push/pull changes between them freely without the need to worry about copying around individual files. I can even do changes on the Mac side while the Windows side has not yet commited changes without the need to worry about losing anything. After syncing up the repositories, I have a clear list of changes in the overall project. I can even make a clone to a USB stick and take it somewhere else and later reintegrate any changes made there with ease. Git is a good candidate for all this because it does not require a central server.

As for the poll: I mainly use Mercurial for my projects. The reason for that is simply that I used it before Git, so i am more familiar with it.

Re: Git Poll & Discussion about Version Control Systems

Posted: Sun Aug 02, 2015 3:23 pm
by Danilo
Does that mean Git integration will get added to PB IDE?

Switching between console or GUI clients (GitHub/SourceTree) and the IDE would be even more annoying/distracting.

Re: Git Poll & Discussion about Version Control Systems

Posted: Sun Aug 02, 2015 3:38 pm
by Shield
Danilo wrote:Does that mean Git integration will get added to PB IDE?
This was "discussed" here before (didn't get much attention):
http://www.purebasic.fr/english/viewtop ... =3&t=57690

Might be worth considering:
http://www.purebasic.fr/english/viewtop ... =3&t=61018

Re: Git Poll & Discussion about Version Control Systems

Posted: Sun Aug 02, 2015 3:48 pm
by Danilo
Quote:
Version Control Integration

You shouldn't have to leave the comfort of your own editor simply to interact
with your (or your team's) version control system.

Re: Git Poll & Discussion about Version Control Systems

Posted: Sun Aug 02, 2015 4:38 pm
by freak
Danilo wrote:Does that mean Git integration will get added to PB IDE?
There are no plans for that at the moment.