Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #2709

Re: programmer's keyboard

From Rui Maciel <rui.maciel@gmail.com>
Newsgroups comp.programming
Subject Re: programmer's keyboard
Date 2013-01-02 11:34 +0000
Organization A noiseless patient Spider
Message-ID <kc160s$i6h$1@dont-email.me> (permalink)
References (6 earlier) <kbnkla$k1b$1@news.albasani.net> <ak96fjFk2kiU4@mid.individual.net> <kbos5r$r64$1@news.albasani.net> <kbpvmh$g9p$1@dont-email.me> <kbq828$fkg$1@news.albasani.net>

Show all headers | View raw


BGB wrote:

> typically, I manage copies as-relevant by including dates and internal
> version numbers in the directory names.
> 
> granted, for minor changes, I don't usually bother, and tend to make all
> changes readily reversible.
> 
> so, it is like:
> make a few changes;
> test that everything still works;
> make a few more changes;
> test again...
> 
> if a change results in something breaking, I switch it back, and see if
> I can figure out why/how it is breaking.
> 
> granted, this sometimes leads to some amount of duplicated/disabled
> code, which is usually pruned away eventually.
> 
> 
> this way, copies are used mostly for "changes sufficiently drastic that
> they are likely to break something", where the copy is made and the
> version number advanced slightly.
> 
> typically, I go on a simplistic major/minor system, typically:
> single digit: major, typically advanced on near complete rewrites;
> two digits: major+minor, usually done if a change was made which is
> likely to break stuff.
> 
> this notation informally uses base36 (or: 0-9, A-Z).
> 
> for other things, I often use a "major_minor" notation (like: "foo3_1"),
> and sometimes, "majorminor_subminor", like "foo63_5".
> 
> 
> typically, if file or directory names are prefixed with '_', this
> basically means "candidate to be deleted" (I may delete them later if it
> becomes fairly certain I wont need them again).
> 
> periodic old copies of projects are kept around as well, and
> occasionally have been used for retrieving/reviving bits of very old
> code (which had since fallen out of the project).
> 
> sometimes, old stuff is moved into directories with names like "_old",
> which may be deleted later.

With a version control system, it's possible to have all that, and in a 
convenient, non-intrusive way.  For example, with git, it's possible to 
create separate development branches which ca be used independently and, if 
it's the case, merged with any other branch.  To create a new branch, the 
only thing that a user needs to do is to run the following command:

git branch <branch name>

Then, to switch back and forth between different development branches, the 
user only needs to run:

git checkout <branch name>

Finally, to discard a development branch, a user only needs to run:

git branch -D <branch name>


These commands are enough to do essentially everything you mentioned in the 
description of your workflow.

The best part about using a version control system is that you don't have to 
worry about managing all the different versions of your development branch, 
or track the meaning of any naming convention you used.  All these 
management details are pushed under the hood, which lets you focus on 
writing code instead of how and where to store/track any development version 
and/or branch.


>> There are plenty of version control systems out there that don't cost a
>> thing, and are extremelly simple to use.  If you give it a try, I believe
>> you will see the light.
>>
> 
> I had used CVS and Mercurial before, but generally found them less
> convenient than copy-pasting things.
> 
> mostly, Windows Explorer makes copy/paste really easy, whereas even in
> their GUI-based forms, are still typically more of a hassle in-general
> than copy/paste or drag&drop (to move things).

I see what you mean.  IMO, GUI front-ends tend to suffer from a serious 
usability problem, at least when compared to the command line interface: 
they tend to shove all features onto the screen, whether the user uses them 
or not.  In addition, they also tend to display an ungodly amount of 
information.  This isn't helpful and tends to needlessly overcomplicate 
things, which in turn contributes to a steeper learning curve.

Nevertheless, even when faced with this problem, once the user manages to 
wrap his head around how a particular version control system works, and how 
a particular GUI front-end lets the user interface with that version control 
system, things tend to quickly become both significantly simpler and better.


Rui Maciel

Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

programmer's keyboard bob <bob@coolfone.comze.com> - 2012-12-26 11:45 -0800
  Re: programmer's keyboard Robert Wessel <robertwessel2@yahoo.com> - 2012-12-26 15:01 -0600
    Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-26 21:36 +0000
      Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-26 21:12 -0600
      Re: programmer's keyboard Robert Wessel <robertwessel2@yahoo.com> - 2012-12-27 23:45 -0600
        Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-28 13:46 +0000
          Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-29 11:42 +1300
          Re: programmer's keyboard "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2012-12-29 15:15 +0000
            Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-29 14:41 -0600
              Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-29 21:10 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-29 15:26 -0600
                Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-29 22:41 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 02:12 -0600
                Re: programmer's keyboard "BartC" <bc@freeuk.com> - 2012-12-30 11:20 +0000
                Re: programmer's keyboard malcolm.mclean5@btinternet.com - 2012-12-30 10:19 -0800
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 14:51 -0600
              Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-30 10:43 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 01:55 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-30 21:06 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 02:35 -0600
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2012-12-30 18:12 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 13:30 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-31 09:36 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 17:27 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2012-12-31 13:00 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-31 03:13 -0600
                version control (was: Re: programmer's keyboard) rugxulo@gmail.com - 2012-12-31 10:36 -0800
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2013-01-01 09:05 +1300
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-31 16:58 -0600
                Re: programmer's keyboard Ian Collins <ian-news@hotmail.com> - 2013-01-01 13:24 +1300
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-02 12:23 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-02 14:34 -0600
                Re: programmer's keyboard Robert Wessel <robertwessel2@yahoo.com> - 2013-01-02 15:35 -0600
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-03 13:19 -0600
                Re: programmer's keyboard Willem <willem@turtle.stack.nl> - 2013-01-03 08:35 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-03 13:46 -0600
                Re: programmer's keyboard rugxulo@gmail.com - 2013-01-03 00:52 -0800
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-03 15:00 +0000
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-02 11:58 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-02 15:03 -0600
                Re: programmer's keyboard rugxulo@gmail.com - 2013-01-03 00:54 -0800
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2013-01-03 13:06 -0600
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2012-12-30 18:04 +0000
                Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-30 14:24 -0600
                Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2013-01-02 11:34 +0000
          Writing Experimental Code "Aaron W. Hsu" <arcfide@sacrideo.us> - 2013-01-02 15:08 -0600
  Re: programmer's keyboard Rui Maciel <rui.maciel@gmail.com> - 2012-12-28 11:45 +0000
    Re: programmer's keyboard BGB <cr88192@hotmail.com> - 2012-12-28 12:29 -0600

csiph-web