• Print

Author Topic: QB64-GL now on Google-Code. Want to help?  (Read 11121 times)

Galleon

  • Administrator
  • Hero Member
  • *****
  • Posts: 5485
  • QB Forever
QB64-GL now on Google-Code. Want to help?
« on: January 24, 2013, 07:02:35 am »
http://code.google.com/p/qb64/source/browse/
It's a ~200MB repository with everything. All the Linux, MacOSX and Windows files have been rolled into a single package.

What's more important, is that from now I will be making changes directly to this repository. My QB64 development folder is now literally my repository folder. This means as I work on QB64 you'll be able to see the changes whenever I commit and sync, which will probably be quite often.

I'm opening up this opportunity to people who know how QB64 ticks, be it qb64.bas or the C/C++ side to join as code contributors. So who wants in?

Even if you don't want to contribute directly it's fairly straightforward to get a local copy of this.
Windows users:
1) Download 'TortoiseHg' and install it
2) Open the 'TortoiseHg Workbench' program
3) In the file menu select 'clone repository'
4) For the 'Source:' field enter a URL instead "https://galleondragon@code.google.com/p/qb64/" and for the "Destination:" give it the location of a new folder you wish to create to put all the files into.
5) Press the clone button! Now you have a local copy of the QB64 repository
« Last Edit: January 24, 2013, 07:09:49 am by Galleon »
Something old... Something new... Something borrowed... Something blue...

codeguy

  • Hero Member
  • *****
  • Posts: 3952
  • what the h3ll did i name that code?
    • stuff at dkm
Re: QB64-GL now on Google-Code. Want to help?
« Reply #1 on: January 24, 2013, 08:08:08 am »
feel free to steal any code i have contributed and you find useful. as i have stated before, i expect no payment for its use, except perhaps a bit of credit might be nice, just to prove to the world i was here. ;D
http://denteddisk.forums-free.com/make-an-appointment-with-the-resident-code-guru-f34.html

SMcNeill

  • Moderator
  • Hero Member
  • *****
  • Posts: 6131
Re: QB64-GL now on Google-Code. Want to help?
« Reply #2 on: January 24, 2013, 08:28:29 am »
Quote from: codeguy on January 24, 2013, 08:08:08 am
feel free to steal any code i have contributed and you find useful. as i have stated before, i expect no payment for its use, except perhaps a bit of credit might be nice, just to prove to the world i was here. ;D

+1

And I don't even really need credit.  I don't care if the world knows I exist or not.  In the words of Popeye, "I yam what I yam, and that's all I yam!"  ;D

Free free to take, add, alter, or use anything that I've posted anywhere.  It's all completely available if you find anything at all of interest. 
http://bit.ly/Color32BI -- A set of color CONST for use in 32 bit mode, as a BI library.

Mrwhy

  • Hero Member
  • *****
  • Posts: 2910
  • My Dad called me Mr Why when I was 5.
Re: QB64-GL now on Google-Code. Want to help?
« Reply #3 on: January 24, 2013, 08:46:02 am »
Wish I could help in any way I can. Don't know enough!
Because of that I might be best at helping newbies.
Idiots who  ask questions like "Wot's a repsitory" and "What does commit and sync" mean?

codeguy

  • Hero Member
  • *****
  • Posts: 3952
  • what the h3ll did i name that code?
    • stuff at dkm
Re: QB64-GL now on Google-Code. Want to help?
« Reply #4 on: January 24, 2013, 08:50:37 am »
commit means to post and save changes, if any. sync means to have identical copies.
http://denteddisk.forums-free.com/make-an-appointment-with-the-resident-code-guru-f34.html

DSMan195276

  • Hero Member
  • *****
  • Posts: 2112
  • Yes
Re: QB64-GL now on Google-Code. Want to help?
« Reply #5 on: January 24, 2013, 08:55:40 am »
Anybody on Linux can grab the 'mercurial' program from their distro's repo to access it via using the commandline 'hg' or graphically via 'hgk'.

Also, while I've been using git (And the syntax to hg looks almost exactly the same as git) I'm just a tad bit confused as to how I recommend patches back to you. Instead of doing a local clone, I cloned you're repo into my own google-code repo that I'm able to commit and push changes to. Do you know how I go about recommending patches I write for QB64 over to you from my repo though? I couldn't find anything specific on that.

I admit I'm just a tad bit confused on how to use Mercurial repos.

And to perhaps expand on what Codeguy said, commit's are for saving changes to files in your local copy of the repo, and syncing is posting those commit's over to the google-code repsitory. IE. You change a bunch of files in the repo and then add those files and commit them to your local repo. By commiting them, you basically create a patch detailing what lines/files to add/delete. Syncing/pushing then allows you to publish this patch (Or many patches if you commit more then once before pushing) over to the google-code repo.

Matt
"Cast your cares on the Lord and he will sustain you; he will never let the righteous be shaken" -- Psalm 55:22
QB64 Linux Installer

LeChuck

  • Hero Member
  • *****
  • Posts: 1236
  • 18 * 37
Re: QB64-GL now on Google-Code. Want to help?
« Reply #6 on: January 24, 2013, 12:38:29 pm »
I wanted to help and then I didn't, I can't make up my mind so nevermind. Sry. :)
« Last Edit: January 24, 2013, 12:47:42 pm by LeChuck »
No disaster occurs for any single reason.

Galleon

  • Administrator
  • Hero Member
  • *****
  • Posts: 5485
  • QB Forever
Re: QB64-GL now on Google-Code. Want to help?
« Reply #7 on: January 24, 2013, 03:09:27 pm »
Even if you don't want to contribute now you may want to do so in the future (heck I could choke to death on a grape tomorrow for all I know :'(), so it's good to get your name listed. You'll need a google/gmail account to update the main repository. I'm happy to list people who don't even know what a repository is or how it works, because I can show you how when the time comes.

Quote
I'm just a tad bit confused as to how I recommend patches back to you.
I'm not 100% sure, but I believe the process is like a WIKI, you don't suggest, you just change. And if I don't agree with the change I'll roll things back. I get notified by Email whenever the repository changes and where.

Being the controlling operator that I am I'm not going to be particularly impressed if people start adding new features to QB64 without my prior acknowledgement, even in an open source repository, so if adding new features it's best to let me know via Q&A first.

My recommendation is that anyone who cares about QB64 should have your name added a a contributor. If you code in QB64, then you already have the skills to fix problems in qb64.bas which is the most important component of QB64.
Something old... Something new... Something borrowed... Something blue...

DSMan195276

  • Hero Member
  • *****
  • Posts: 2112
  • Yes
Re: QB64-GL now on Google-Code. Want to help?
« Reply #8 on: January 24, 2013, 03:27:19 pm »
Galleon:

Well, with repo's like this, nobody can change the repo except for you and people you add as allowed to push to the main repo (And usually virtually nobody needs this main access). Usually the main 'default' branch then contains the current stable version of the code (Technically we don't have one yet, but that would be version 5 if you were going to do this right now). Then you'd have a branch were you have your working version (Which may or may not compile at any given time).

People can come in and clone/fork the main master branch (Stable), or your development branch (unstable) into their own repo (And then add an upstream link and do a 'hg pull' to grab updates to your repo if they happen). When you see what they have done (And like the changes) you can merge their changes with either the current stable code or your working branch via a 'hg merge' command. When you have what you think is stable enough for a release in your working branch, you can then do a 'hg merge' to merge your working branch with the current master (And you an also merge any patches or such into your working branch first and fix any conflictions it finds). That's the process I've always seen as well as have done a few times.

If everyone has write-access to push to the main repo, You'll have a tough time reverting changes after lots are made. I would highly suggest this type of setup.

Matt

Edit: It seems a had a bit of wrong information since I didn't know specefically for Mercurial repos. For Mercurial repos, the primary development branch is the 'default' branch, and then you just create a new branch like 'stable' or 'release-.971' for each release, I didn't catch that, so sorry about that. The basic idea is still the same though.
« Last Edit: January 24, 2013, 03:32:44 pm by DSMan195276 »
"Cast your cares on the Lord and he will sustain you; he will never let the righteous be shaken" -- Psalm 55:22
QB64 Linux Installer

Galleon

  • Administrator
  • Hero Member
  • *****
  • Posts: 5485
  • QB Forever
Re: QB64-GL now on Google-Code. Want to help?
« Reply #9 on: January 24, 2013, 03:42:54 pm »
Managing a stable and unstable branch makes sense but for now I just want to stick with one repository and it should be considered 'stable'. I wouldn't expect anyone to push half-finished content, and if they did they would lose their commit rights. Also, the 'stable' versions of QB64 are always released as downloads at our web-site, and that isn't going to be changing. The repository is more a tool for development than distribution, however as you can see I've included all the files required to make it a distribution.

What I'm very curious about is what happens when 2 people edit a file locally then push it back at the same time. Will the repository merge the changes, or will it overwrite the changes the first person made. Ideally it would merge them, in my opinion, but I haven't tried this yet. I'm hoping the 'push' operation at least comes up with some kind of warning. I'm new to source repositories.

I'll have a read of this:
http://hgbook.red-bean.com/read/a-tour-of-mercurial-merging-work.html
Something old... Something new... Something borrowed... Something blue...

DSMan195276

  • Hero Member
  • *****
  • Posts: 2112
  • Yes
Re: QB64-GL now on Google-Code. Want to help?
« Reply #10 on: January 24, 2013, 04:01:29 pm »
Quote from: Galleon on January 24, 2013, 03:42:54 pm
What I'm very curious about is what happens when 2 people edit a file locally then push it back at the same time. Will the repository merge the changes, or will it overwrite the changes the first person made. Ideally it would merge them, in my opinion, but I haven't tried this yet. I'm hoping the 'push' operation at least comes up with some kind of warning. I'm new to source repositories.

It will merge all the changes it can, but you can't actually push at the same time, one person has to push and then the other pushes (It has to completely one push before it completes another push). On the other hand, you can end-up pushing from an non-updated repo, in which case you might end-up reverting changes (Only if changes to the specific part of the code you were editing were made, or that file changed name or something like that).

If people are just pushing edits, it's quite possible errors might happen even if they're not meant to (and, if people can't push half-finished stuff then it's isn't a good way to help out on it or review it before it's put in). If people instead have their own clone of the repo though, they can work and push changes to it any time they want (And show people the current code and perhaps get help). When they're done you can either merge their repo yourself or they could give you a patch for you to review and then push over into the main code when it's ready. (The patch system would probably work a bit better). It's also fairly easy to make a patch out of the cloned repo that people have by just downloading the code, I found some fairly simple command-line instructions that I could share if wanted. It looks like if I give you a patch, you can commit it to your repo via:

Code: [Select]
hg commit -m "Adding patch...etc..." filename
I attached a patch that you could try if you want, the patch just contains a simple fix for an OSX run script fix I saw a while back (And I guess never got added).

Matt
"Cast your cares on the Lord and he will sustain you; he will never let the righteous be shaken" -- Psalm 55:22
QB64 Linux Installer

Galleon

  • Administrator
  • Hero Member
  • *****
  • Posts: 5485
  • QB Forever
Re: QB64-GL now on Google-Code. Want to help?
« Reply #11 on: January 24, 2013, 04:11:03 pm »
Thanks. I'm a bit unsure about patches yet so I'll have a close look at this later. Fetch does seem to be the command we should be using.
Something old... Something new... Something borrowed... Something blue...

DSMan195276

  • Hero Member
  • *****
  • Posts: 2112
  • Yes
Re: QB64-GL now on Google-Code. Want to help?
« Reply #12 on: January 24, 2013, 04:20:14 pm »
Quote from: Galleon on January 24, 2013, 04:11:03 pm
Thanks. I'm a bit unsure about patches yet so I'll have a close look at this later. Fetch does seem to be the command we should be using.

That patch was surprisingly simple to make (and I could provide pretty simple details) but it does require the command-line version of mercurial (You can probably make patches from the program you have though, I'd assume). I didn't notice fetch before, but it does look like it can automate the process of pulling in changes from an external repo. Using fetch (Unless it takes patches) would require the repo you're going to fetch to, to be hosted somewhere on the Internet (Like my clone repo is). Patches can be made by anybody even if they don't have a google account though.

It's still early in the system, I wouldn't worry about it to much. I just wanted to note all this so that we can get some specifics for how this all will be done (So the project doesn't just crash and burn if it gets to popular).

Matt
"Cast your cares on the Lord and he will sustain you; he will never let the righteous be shaken" -- Psalm 55:22
QB64 Linux Installer

Clippy

  • Hero Member
  • *****
  • Posts: 19380
  • I LOVE π = 4 * ATN(1)    Use the QB64 WIKI >>>
    • Pete's Qbasic Site
Re: QB64-GL now on Google-Code. Want to help?
« Reply #13 on: January 24, 2013, 04:41:55 pm »
Quote
I'm not 100% sure, but I believe the process is like a WIKI, you don't suggest, you just change. And if I don't agree with the change I'll roll things back. I get notified by Email whenever the repository changes and where.

You try chasing Stylin around for a year and see how you like it! Then you'll KNOW...  ;)
QB64 WIKI: Main Page
Download Q-Basics Demo: Q-Basics.zip
Download QB64 BAT, IconAdder and VBS shortcuts: QB64BAT.zip
QB64 SDL

LINUXQB64gltester

  • Full Member
  • ***
  • Posts: 241
    • Anyone that likes Art
Re: QB64-GL now on Google-Code. Want to help?
« Reply #14 on: January 24, 2013, 05:46:31 pm »
Quote from: Clippy on January 24, 2013, 04:41:55 pm
Quote
I'm not 100% sure, but I believe the process is like a WIKI, you don't suggest, you just change. And if I don't agree with the change I'll roll things back. I get notified by Email whenever the repository changes and where.

You try chasing Stylin around for a year and see how you like it! Then you'll KNOW...  ;)
Well hopefully no one abuses it, but it is good to know that he will be checking the changes, it dose seem like a wiki, or very much like one,...
 I like it, I took a quick "tour", and think it will be very useful, in keeping up up with changes, etc.
 I am having some trouble getting these though:
[quote Download 'TortoiseHg' and install it
2) Open the 'TortoiseHg Workbench' program]   [/quote]
 Using my synaptic package manager, it is there, but after downloading, I get a "unable to get some files", how ever this is with mint 10, and it is kind of outdated, I have had the same, problem, when trying to download almost anything, ...I should be able to get it though, when I use the newer mint 13,
Quote
osted by: DSMan195276
« on: January 24, 2013, 08:55:40 AM » Insert Quote
Anybody on Linux can grab the 'mercurial' program from their distro's repo to access it via using the commandline 'hg' or graphically via 'hgk'. 
I did try that too, but the same, I was unable to get some files, some I did,...I need to update, or  something,...
but also that is another topic, sorry  ;D  Any way I am looking forward to being able to use this repository
Quote
Galleon:
 I'm opening up this opportunity to people who know how QB64 ticks, be it qb64.bas or the C/C++ side to join as code contributors. So who wants in?
Count me in, if you are willing to accept me, I seriously doubt I will ever be commiting anything, or making any changes to anything, but if I ever get that advanced, I will be sure to notify you, first, also,.. Thanks for taking the time to set this up,
from Garry
For off topic discussions :
Non-QB64 Related Discussion Forum
Also
My Experimenting Forum
"QB64 has a great future!"

  • Print