News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Editors, IDEs & version management

Started by jj2007, September 27, 2013, 07:44:14 PM

Previous topic - Next topic

jj2007

Just solved a nasty problem, a bug that had crept in unnoticed. The last version that worked was about two weeks old, but since then I had made dozens of major changes, and the source is 1000+ lines.

So what helped in the end was MS Word, Tools, Compare and merge documents, plus a lot of boring legwork & trial and error :(

Question: How does your favourite IDE handle such situations? Leave a daily copy on the harddisk? Any good ideas how to manage this process, other than keeping a detailed history file (which is good in theory but...)?

My sources are not big enough to justify Installing Team Foundation Server, I'm afraid ;-)

Gunther

Jochen,

I know this problem very well. For our fractal image compression codec we had approximately 200 000 lines of code. That's not so much, because the encoder and the decoder are command line programs.

We did it by hand, with a disc history archive with redundancy. We have checked a lot of revision control tools. For my taste, this is very awkward, especially if you work alone or in a small team. But what the heck, check it out and let us know the result. Good luck.

Gunther   
You have to know the facts before you can distort them.

dedndave

for a larger source, i found it helpful to split it into several INC files
i still have the main ASM fle - and it includes some of the modifiable constants and the code for WinMain
but, in between those 2 items, there is nothing but a bunch of INCLUDE directives

now, when you modify a segment of code, the date-time stamps on indvdual files have more meaning

09/06/2013  05:23 PM            18,457 ManoScanEMT.asm
09/07/2013  02:35 PM            24,400 00ManoScanEMT.inc
08/30/2013  09:42 PM            25,933 01InitData.inc
09/05/2013  09:47 AM            10,987 02UninitData.inc
09/04/2013  06:19 PM            37,985 03WndProc.inc
09/07/2013  05:27 PM           100,422 04HRProc.inc
09/02/2013  11:00 AM            85,744 05VPProc.inc
09/03/2013  09:33 AM            79,880 06HPProc.inc
08/15/2013  03:48 PM            11,410 07PalProc.inc
07/25/2013  04:21 PM            31,898 08CustBtn.inc
08/31/2013  06:09 PM            91,318 09ToolAProc.inc
06/11/2013  04:12 PM             4,420 10ToolBProc.inc
08/22/2013  09:36 AM             7,837 11ScrollProc.inc
08/01/2013  09:35 AM             4,779 12TrkProc.inc
06/11/2013  04:14 PM             5,639 13TipProc.inc
08/20/2013  06:00 AM            20,670 14CommData.inc
09/05/2013  10:04 AM            45,234 15InitMisc.inc

;###############################################################################################

        .DATA
        ALIGN   8

;***********************************************************************************************

        INCLUDE     01InitData.inc

;###############################################################################################

        .DATA?
        ALIGN   4

;***********************************************************************************************

        INCLUDE     02UninitData.inc

;###############################################################################################

        .CODE

;***********************************************************************************************

        INCLUDE     03WndProc.inc

;***********************************************************************************************

        INCLUDE     04HRProc.inc

;***********************************************************************************************
and so on....


if i want to, i can re-combine them when i am done with the major development

of course - there is always "don't change too many things at once"
if you ever work on electronics prototypes, you will learn that one, quickly   :P

anta40

Hi Joechen,

I usually use git and subversion.
Both of them works well with Eclipse, our IDE of choice:
http://subclipse.tigris.org/
http://www.eclipse.org/egit/

But for one-man project, I think Fossil is more then enough.  ;)

Bottom line is probably now we should use version control
instead of the old "tarballs and patches" ;)

jj2007

Thanks, Gunther, Dave & Anta. Will have to reflect a little bit now ;-)

FORTRANS

Hi,

   A long time ago, I used source management software at
work to access and modify standard programs we had to use.
(CDC Update.)  Worked well, but had a learning curve.  Used
it because I had to, give or take.  I bought a program that
copied the system we used at work, and may have used it once.
It required too much discipline and time to use it correctly.

Regards,

Steve N.

jcfuller

I use a local git for bc9Basic but I know I am using wrong :)
I create a new branch for almost every change as I could never figure out how to rollback one or more changes?

James

Adamanteus

#7
I'm using for local copies - reserve copying utility, that makes timestamp backup catalogues names.

sys64738

I'm running a subversion server on a linux machine. Whenever I have completed a functionally separate working module, I put it there. This wouldn't help if you do substantial changes, but I don't want to clutter the svn with to many revisions.

MichaelW

Instead of an IDE I use a programming editor (SciTE), running as many instances as I need. I try to avoid large projects, and seldom work with source files longer that a few hundred lines, so I just manually create backups whenever I feel the need, appending a sequence number to the end of the filename, occasionally with a description. I normally work with my editor(s) on the left side of the desktop and one or more Explorer windows on the right side, so creating a backup is just a matter of editing the name of the current source in Explorer then saving the source in my editor.
Well Microsoft, here's another nice mess you've gotten us into.

TWell

PellesC IDE have an option to zip whole project.