Revision Control
Brian K. White
brian at aljex.com
Wed Aug 9 11:01:35 PDT 2017
On 8/9/2017 11:28 AM, Jay R. Ashworth via Filepro-list wrote:
> Assuming I don't pop an aneurysm first, I'm considering cleaning up a long
> standing software package for further development (parts of it are over 20
> years old), and I can't fathom doing that without revision control (which
> will probably be bzr, cause I think git was designed for gits, by gits, and
> I refuse to pick tools that purposely make me do all the work).
>
> Is anyone anywhere using an RCS for filepro code? How's that workin' out for
> you?
>
> Cheers,
> -- jra
>
We're using git. It works as well as any other use of git, if you ignore
the large factor that so far, we simply ignore the entire problem of
indexes and key & data via .gitignore.
In theory, the facilities exist to write a few fancy scripts to extract
index headers and diff *those*, and reapply those headers and rebuild
those indexes on a receiving box all on the fly during git operations. I
haven't actually done any of that.
We have a repo on a separate gitlab server, and a dedicated "release"
vm, where, developers hack on their own copies on their own vms, push
those to a gitlab server, and a release manager merges those in to
master/HEAD, pulls that onto the release vm, does any necessary fix-ups
like file ownerships/permissions, building toks from prcs etc, and then
clones it out to production machines after it's manually massaged back
into actually valid runnable state.
Mostly, we just don't happen to be changing existing index definitions
these days, just adding new ones, and usually just as parts of new whole
files. So we're not really tracking everything, but we are tracking all
the prcs and other "code" kinds of files, and scripts and things
elsewhere in the system. If we do have to change an index, we have to do
it outside of git, same as if we had to restructure a file. (we can
still track map files in git, and even allow git to update them,
*sometimes if you're reeeely careful* not to change the structure, only
the labels or edits)
Of course, viewing diffs of prc tables is not as good as it is for any
other kind of file, but still better than nothing.
We are dealing with permissions by a kind of continuous brute force.
We have a script that applies group "programmer" ownership and write
permissions on all files & dirs under a given directory, and we use that
on a few dirs where we made sure that wouldn't break anything. Like,
/u/foo/appl, /u/foo/bin, /srv/www/htdocs etc, but like, not just
anywhere, not /etc for example. A given developer will have to run the
regular setperms followed by the programmer group perms setter every
once in a while. If you're careful, it can be infrequent.
In theory, git shouldn't be breaking any perms, at least on files that
already exist, but any time git creates a new file locally, that file
ends up having the ownership & perms dictated by the users ordinary
login name & umask setting.
It was a rocky start for several weeks, only started a few months ago.
But I have been having pretty good luck on my own vm the last few weeks.
I haven't had to run the perms fixup scripts in a while.
We do also have a service called watcher.py that is supposed to be using
intotify to watch for file creations and setting the special perms
automatically any time something is created in one of the watched trees,
but I don't think it's working, or maybe just isn't configured right. Or
maybe it is working now and that's why I've had good luck lately.
--
bkw
More information about the Filepro-list
mailing list