What are the thoughts on source code managment for projects hosted on LMR?

I'm just throwing this out there, because we could all share our source(for those who want to) as well as keeping backups and shareing knowledge.

Since the source code is usually smaller than most images that are posted, it wouldn't add that much space ot the current load that the servers have. This would also be great for collaboration efforts for a lot of the folks here.

 

Any thoughts, possibilities??

Some file SCM's are SVN, Mercuial, GIT

more info here

hmmm

Project management without proper projects? So far we’ve mostly been exchanging pieces of code to inspire and teach each other.

However, I do see a use for a searchable library of code snippets. A special section in the forum would suffice for that.

Change Control
The potential for developing a change control system for a large library of "parts" is brilliant. People could "check out" a piece of code and if they modif it, check it back in again.

yehhhs
Liking this idea better already. Software parts (snippets) that would be improved upon each time someone implemented one in his project (or her). The next person to check out the part would receive all the improvements people checked in.

picaxe var problems

i forsee some problems with the picaxe code-parts if we don’t adhere to some standard for using variables. You dont want someone to mess up your symbol assignments because they’ve changed them before checking the code back in.

I definitly agree with you

I definitly agree with you here, I do see various issues which would be why we would want to instill some sort of coding policy or practices that people should follow.

I know this may be a lot to ask, but at the same time, access to certain code sections could be restricted to certain members for checking in code, but checking out code would be allowed.

Does pic

support classes with its code?

 

Im writing something in processing that i hope other people will use, im writing it as a class so that people can use it easily and extend on it. Could be a way round a few problems.

Just a library would work better

what if someone changes a posted snippet for the worse?

Instead, they should just be able to post their own, and name it "version x+1" and let others rank them or something …

good idea
common classes is a terrific idea

The point of the source code

The point of the source code managment is that it allows for multple iterations with the same name. if somebody decides to comepletely hose it, we could go back to a good version prior to the last update(s).

The file repo has so many great features to it, you can compare versions, see what the developer noted and all sorts of other things without having to bring the source to your machine and scoure it for changes…

I’m all for a class library btw.

//codesnippit:618FDA64-B3A2-4

//codesnippit:618FDA64-B3A2-46CA-BDA7-A106DC04127E

LMR can pioneer this idea:

http://www.codinghorror.com/blog/archives/001257.html

Nonononono

Linux is an example of the biggest problem with everyone posting their own versions. In its extreme, you’ll end up with one version which supports a colour display but not USB and another which support USB but only some colours. That’s bad enough, but then someone takes the version which only supports some colours and adds support for two displays because he really wanted teh USB…

What would be your

What would be your suggestion on how we could handle this? As myc said, we could always restrict it to the original person who created the file to modify it as they see fit through suggestions on the forums…or we could leave it to the person who grabs the source and let them modify but not check in any changes without approval.

I’m not saying give everyone access though, we should have a core group that have access for projects that sevaral people are working on and for a possible core library.

 

Linux has this problem?
What? What are you talking about BOA? Is this a real example or are you getting confused with Windows .dll hell?

Cool idea voodoobot

I have found svn and Trac to be of extreme usefulness.

But wait there’s more !

They are integrated.

PM might be overkill

Could you use the LMR "Compnents" system? These are after all "software components". If you TAG the components as "Snippet->PicAxe->Servo" or "Snippet->Arduino->Navigation" then people could navigate the TAGs in some kind of tree structure, similar to CodeProject.

Components
Snippets
PicAxe
Servo
Sonar
Navigation
Arduino
Servo
Sonar
Navigation

Good answer
I like it, Could then have different versions listed and notes onchanges.

Extremities

It is an extreme example of what may happen.

Linux versions now only suffer this problem when new hardware types are released and the manufacturers are a PITA about it. When I started using Linux around 15 years ago, this was a problem I encountered. Certain falvours only supported given hardware.

Hardware is much more generic these days, though and source code control has become much more commonplace.

Classes and Snippets

I see two major ideas emerging in this thread. Classes and Snippets. These are very different from each other. And therefore (diversity people!) must be complementary to each other.

I mean: they are both useful. When we tried to get a serial port to operate, we downloaded and installed the right class (or library or module). And then we learned (from the documentation!) how to use it.

When we tried to figure out how to forge the last two bits from eight different bytes into a new binary word in Picaxe Basic, we posted a snippet. The snippet was later retrieved to be used again. There is no point in writing a class for that. Even if that language would support it.

Both ideas promote reusable code. And nobody suggests that code be copied verbatim without first understanding what it does. Classes need to be heavily documented, snippets need to be heavily commented.

So you’re suggesting just

So you’re suggesting just using the forums vs an actual scm or just the hierarchy?

I agree with heirarchy, where we do something like rascalrobot suggested, but keeping this in the forum…not sure I think that idea would be good. We lose a lost of the functionality of an scm, like diffing, merging, among other such features…