On 17/11/2022 20:36, Peter Lettieri wrote:
> I've never used git with a pick filesystem and am familiar but not an
> expert.
>
> I have a dev system and a live system but we do all of our development
> on the live system. The dev is more of a mirror.
>
> We build modules, release them to a beta screen, do our testing and
> debugging, then archive the old version and upload.
>
> Our programmer is very good and has been doing this for 40+ years, and
> I'm looking to bring on some new devs to work with us, but am trying to
> find the best way to control versioning and track changes.
>
> Thanks Wol for reaching out.
>
Hmmm
I'd be inclined to do all the testing on (multiple) dev systems. I'm
actually in the nice position of trying to introduce ScarletDME to my
employer, so I'm thinking hard about the best way to keep on top of things.
I'm writing a little utilty that dumps/loads a dictionary to a text
file. I'm trying to lay out a file structure that works for what I think
the setup is.
My angle is going to be "this is a tool to replace Excel". The trouble
is I'm up against Google BigQuery - the company won't appreciate me
bringing in another database, so I need to promote it.
But the first thing you need to do is work out how you are going to get
your current structure into git. I think you need to ask "where is the
root of our live data", and more importantly make sure that layout works
for you. Then you can dump all your code and dictionaries into git.
Then each of your developers needs a copy of the live environment to do
their development in, so they can test it, and then push it to live.
Developing in the live area is NOT wise.
Rather importantly, this then means that if your developers have a copy
(or partial copy) of the live system, which can then be cloned as
required, you can develop and test each enhancement in its own
development copy, push it to live, and then dump the development copy
and re-clone. And of course, if your changes go pear-shaped, just ditch
and re-clone :-)
That's the important thing - you want the developers to push their
changes to the master git repository, which you can then pull into live.
I don't think you want the live repository to be the master, it just
feels wrong to me.
Just think it through - how can you keep the developers from treading on
each others' toes, how can you push items easily to live.
I'm planning to push my directory utilities to ScarletDME, but they're
in no fit state to do that at the moment :-)
Cheers,
Wol