• AVR Freaks

Helpful ReplyHot!The best/easiest MPLABX IDE v5.15 CVS?

Author
JustRob
Super Member
  • Total Posts : 571
  • Reward points : 0
  • Joined: 2008/09/04 12:49:27
  • Location: Hudson Massachusetts United States
  • Status: offline
2020/05/20 09:05:51 (permalink)
0

The best/easiest MPLABX IDE v5.15 CVS?

Hi,
 
I've tried the different cvs offered by microchip but with mixed results.  Maybe I'm not using them right.  I have two separate working projects and I'd like to save them in versioning software.  


What is the easiest and best that anyone/everyone has tried?
  1. CVS
    1. Pros?
    2. Cons?
  2. GIT
    1. Pros?
    2. Cons?
  3. Mercurial
    1. Pros?
    2. Cons?
  4. Subversion
    1. Pros?
    2. Cons?
 
When I start the repository do I have to select each file or can I do the whole project?
 
 
Thank you

Sometimes the obstacles in our path ARE our path!
 
https://abateandempower.com/
#1
NorthGuy
Super Member
  • Total Posts : 6085
  • Reward points : 0
  • Joined: 2014/02/23 14:23:23
  • Location: Northern Canada
  • Status: online
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/20 09:38:59 (permalink) ☄ Helpfulby Tim Cruise 2020/05/22 11:24:55
+4 (4)
I use Git. It's been long time since I used anything else.
 
Git is very powerful. It is written and maintained by Linus Torvalds, so you can except high quality.
 
It not only lets you store the history. You can also create branches, which you can later merge into the mainstream code. Merge works very well. You can create multiple branches, and then decide which of them are worth merging and which can be abandoned. Say, you can create a branch to experiment with code, but if you change doesn't work very well, you simply abandon the branch.
 
It is designed mostly for collaboration where many people work on the same code. But nothing prevents you for using it if you work alone.
 
 
There's a learning curve - it will take time to figure out how it works. But there are good tutorials on the Internet.
#2
du00000001
Just Some Member
  • Total Posts : 3675
  • Reward points : 0
  • Joined: 2016/05/03 13:52:42
  • Location: Germany
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/20 13:34:54 (permalink)
+2 (2)
I've worked with quite a number of VCSs - - - PVCS, MKS, ClearCase, Nestor (now EASEE IIRC) on the one hand, GIT and subversion on the other. (And even more - not mentioned for their infamity.)
There is some difference on "philosophy": the former three are versioning "files" ("projects" being nothing more than a collection of individual files) while the latter two are versioning "projects" (files being just elements of projects). Nestor/EASEE is quite different: while being basically file-oriented, it is targeting to version file clusters (usually specification + implementation + test documents).
In terms of version difference reporting, storage requirements etc. there's not much difference, although ClearCase and Nestor require dedicated servers.
 
All of these require some learning curve. For me, the file-based approach works better as I'm routinely exchanging (reusing) code between projects - to the extend of exchanging code written for rather different controller architectures.
And - surprise - for my own projects I'm using a different scheme: "bunker":
That's not more than - from time to time - storing a copy of my whole project in a subdirectory called bunker.xxx (xxx is just a version indication).
These subdirectories are not subdirectories of the current project directory, but for convenience purposes they are not far from this in the file tree.
And while this may not be considered a formal versioning system, it worked very well for me during the last 25 years: no issues with porting to another VCS, no issues with retrieval, compatibility, whatever. (And I've really reused code 20+ years old: why reinvent the wheel if you've got a well-engineered, mature solution?)
 
The only thing you shouldn't forget is to periodically make a full backup of this "archive".

PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
#3
mlp
boots too small
  • Total Posts : 913
  • Reward points : 0
  • Joined: 2012/09/10 15:12:07
  • Location: previously Microchip XC8 team
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/21 09:31:07 (permalink)
0
JustRob
CVS

(centralized - one "source of truth", but if the server is inaccessible you can't check in or out)
Pro: stable
Con:
  • fossilized (is now State Of The Ark)
  • every file is independent - the only way to handle changesets is discipline
GIT

(distributed - every user has a full copy, but none is canonically "master" without discipline on the part of users)
Pro:
  • does exactly what Linus wants, especially for managing a massive multi-contributor project
  • has been beaten on hard for many developer-years - it's robust and stable
  • fine granularity of features - you can do anything, tweak any settings
  • handles complete changesets
  • merges are easy
Con: works the way Linus's brain does, so if you're not him it can be tricky to learn
Mercurial

(distributed)
Pro: is like Git
Con: is not Git (so, it's not as widely used)
Subversion

(centralized)
Pro: command line is easy to use
Con: merges can be murder
 
When I started at HI-TECH (2004) we were just migrating from CVS to Subversion, and from the small exposure I had to CVS I was very happy about the change.
 
I have used a couple of pointy-clicky interfaces (TortoiseSVN and TortoiseGit, and the integration with Eclipse) and they make the whole process much simpler. I presume MPLABX/NetBeans has something similar.
 
In my day job now I'm using Git mostly from within Eclipse.
 
When I start the repository do I have to select each file or can I do the whole project?

 
With Git or Subversion, you create a repository for the complete project/directory.
 
To address two points raised by du00000001,
  • I believe you can create "submodules" within Git repositories, although I've not used that feature so I'm not even sure if it is applicable to your file-sharing use case; and
  • you could use a VCS day-to-day (to get branch/merge, rollback, and other nifty features), and still take occasional "bunker" snapshots.

Mark (this opinion available for hire)
#4
Tim Cruise
Senior Member
  • Total Posts : 158
  • Reward points : 0
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/21 09:48:07 (permalink)
0
Do GIT and Subversion require a server to work?
 
I am trying to upgrade my project to Team project as it is getting more complicated.
#5
du00000001
Just Some Member
  • Total Posts : 3675
  • Reward points : 0
  • Joined: 2016/05/03 13:52:42
  • Location: Germany
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/21 11:20:40 (permalink) ☄ Helpfulby Tim Cruise 2020/05/22 11:25:06
+1 (1)
HKPhysicist
Do GIT and Subversion require a server to work?
 
I am trying to upgrade my project to Team project as it is getting more complicated.



AFAIK, all thse VS need some kind of server.
SV and GIT should be able to go without a "dedicated" server. (Could co-exist on your workstation - slowing it somewhat down.)

PEBKAC / EBKAC / POBCAK / PICNIC (eventually see en.wikipedia.org)
#6
JustRob
Super Member
  • Total Posts : 571
  • Reward points : 0
  • Joined: 2008/09/04 12:49:27
  • Location: Hudson Massachusetts United States
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/21 13:05:23 (permalink) ☄ Helpfulby Tim Cruise 2020/05/22 11:25:11
+2 (2)
I just right-clicked on my project and initialized a GIT repository.  I don't need other people checking things out.  This is just so I can make changes and go back to safe places.
 
Thanks

Sometimes the obstacles in our path ARE our path!
 
https://abateandempower.com/
#7
crosland
Super Member
  • Total Posts : 1939
  • Reward points : 0
  • Joined: 2005/05/10 10:55:05
  • Location: Warks, UK
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/21 13:10:47 (permalink) ☄ Helpfulby Tim Cruise 2020/05/22 11:25:15
+2 (2)
You can use git on your local PC, no server needed. That's what I do to keep track of changes and tag things. I use a mix of command line and github desktop. It's very useful. If you want to share with others then you need some kind of server or use github. You still need to remember to back up your local repository.
 
Be sure to read the Microchip developer help that tells you which files you should/should not check in.
 
Whatever you use does not have to be recommended by Microchip. It doesn't even need to be supported by MPLAB X.
#8
Tim Cruise
Senior Member
  • Total Posts : 158
  • Reward points : 0
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/22 11:23:25 (permalink)
0
JustRob
I just right-clicked on my project and initialized a GIT repository.  I don't need other people checking things out.  This is just so I can make changes and go back to safe places.



Is this feature built in by the MPLAB X git plugin?
#9
JustRob
Super Member
  • Total Posts : 571
  • Reward points : 0
  • Joined: 2008/09/04 12:49:27
  • Location: Hudson Massachusetts United States
  • Status: offline
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/22 12:42:13 (permalink)
+1 (1)
Is this feature built in by the MPLAB X git plugin?

I'm not sure my previous post was clear.  In MPLAB X I right-clicked on the project in the project view of MPLAB X and under CVS option it gave me the choice to initialize a GIT repository.  It then colored all of the project files green.  Now if I right-click on the project file I have a slew of GIT options.  
 
I have never done any of this so I guess I'll play with things like branches etc...

Sometimes the obstacles in our path ARE our path!
 
https://abateandempower.com/
#10
Jim Nickerson
User 452
  • Total Posts : 6655
  • Reward points : 0
  • Joined: 2003/11/07 12:35:10
  • Location: San Diego, CA
  • Status: online
Re: The best/easiest MPLABX IDE v5.15 CVS? 2020/05/23 08:26:38 (permalink) ☄ Helpfulby Tim Cruise 2020/05/24 04:44:17
+1 (1)
JustRob
Is this feature built in by the MPLAB X git plugin?

I'm not sure my previous post was clear.  In MPLAB X I right-clicked on the project in the project view of MPLAB X and under CVS option it gave me the choice to initialize a GIT repository.  It then colored all of the project files green.  Now if I right-click on the project file I have a slew of GIT options.  
 
I have never done any of this so I guess I'll play with things like branches etc...


Have you had a look at this page ? https://microchipdeveloper.com/mplabx:git
#11
Jump to:
© 2020 APG vNext Commercial Version 4.5