Computing > Programming

A version control system for embedded work, which doesn't need a PhD

(1/38) > >>

peter-h:
Currently I do an automatic  daily backup at 3am, plus occassional (3-4 times a day) backups which are preserved separately, and of the entire Cube IDE project directory.

Apart from the Cube IDE application config (under c:\st\.... \Configuration) which I also backup sometimes, and the Cube IDE installation itself (under Program Files) that is the entire project.

Various people tell me this is a crap approach and I should use proper version control. I know basically what it is (many years ago I used PVCS) but need something simple which I can understand.

So I did a google. And I see a ton of garbage, like this https://www.newelectronics.co.uk/electronics-technology/version-control-for-embedded-software-engineers/155521/ where it claims

The IoT is at risk of taking us back 30 years to the time when network stacks were being built without inherent security measures in place, therefore risking, for instance, massive DDOS attacks.

which is BS. A DDOS attack is not going to happen just because you have poor security. It will happen because somebody doesn't like you, and wants to saturate your internet connection :) And if you have bad security you don't need a DOS attack to break in. So when I read something like that, the rest of the article is likely to be BS also.

There there is BS like this: https://www.embeddedcomputing.com/application/industrial/7-steps-to-choosing-a-version-control-system

Git is said to be popular but looks incredibly complex. I've been programming since about 1980 but my eyes glaze over when I read this :)

My recollection of VCS is that you are basically replacing one backup location, which can get trashed if the machine blows up (so you keep copies in different places), with another backup location (which can get trashed, and is actually more likely to get trashed because you are storing the original plus a load of diffs, so to get back to version x you need to unwind y diffs, and if there is any data corruption, you have a disaster because the whole structure is binary and you just end up with a mess. This actually happened with PVCS; people got trashed backups. It's the same issue with differential backups (regardless of the media used) which (in general) nobody uses for anything critical IF they can back up the whole project every time.

The VCS archive needs to be stored somewhere and that will be the ultimate weak point. So you now need to back that up as well, and keep different versions :)

How do people solve this?

PKTKS:
There are a plethora of methods...

Mostly they are really UNIX methods..
just because .. you know.. MS is a BS GUI shit.

RCS is the most competent method for pontual control

** IT DOES RUN ABSOLUTE FINE UNDER CYGWIN **
as most POSIX compliant tools - but you know.. MS will never support CYGWIN

http://www.cs.purdue.edu/homes/trinkle/RCS/

Alternative CVS  predates GIT and IMHO is simpler.
it does the puddin

 http://www.cvshome.org/

Anything site wide with timely pontual relies on RSYNC
the defacto daily hourly fast backup

Paul

evb149:
There are lots of VCS options available.

I suggest git because of its flexibility, tool support (IDEs, editors, command line utilities, GUIs) and modern relevance.
There is a free GIT book available from the GIT website:
https://git-scm.com/book/en/v2

There are many other tutorials for it e.g.:
https://riptutorial.com/git

If you use IDEs like visual studio or visual studio code there are extensions / integrated features to support GIT, and this is also
true of other IDEs.

If you prefer subversion is also a relatively modern VCS and it has a free book and also popular GUI for MS Windows:
https://svnbook.red-bean.com/
https://tortoisesvn.net/
...along with tutorials, IDE support, GUIs, etc.

PKTKS:

Yes... SVN  stands aupar with CVS both predates GIT
and are less powerful but simpler alternatives for branch revisions

Paul

peter-h:
I use Cygwin and Rsync; have done for many years.

I did read the description of Git starting here https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F but anything which needs a "book" is out of the question :)

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version