logs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Logs-devel] migrate away from CVS


From: Vijay Lakshminarayanan
Subject: Re: [Logs-devel] migrate away from CVS
Date: Mon, 5 Feb 2018 14:01:31 -0800

> I want to figure out how to have a directory tree that is under git version
> control synchronized to some tree at github with a single subdirectory that
> is also under git VC, but lives somewhere else and commits to the tree under
> that single special directory are stored "somewhere safe", preferably
> somewhere that multiple machines could identical directory structures.
> UNM's Libraries provides a git repository and I'm going to look into using
> that for my "special" directory.  Any hints you might have would be greatly
> appreciated! :)

ok, let's break this down.

1. converting an existing file system into a git repo

$ cd /path/to/wherever
$ git init
## This will initialize a brand new repo for you
$ git config --global user.name "Jim Prewett"
$ git config --global user.email "address@hidden"
## identifies you as committer

$ emacsclient .gitignore
## contains all file globs you wish to ignore, one per line (*~, *.elc, *.out…)

$ git add .gitignore
$ git add -va .
$ git commit -m 'initial commit'

Okay, that does that bit.

2. synchronized to some tree at github with a single subdirectory that
> is also under git VC, but lives somewhere else and commits to the tree under
> that single special directory are stored "somewhere safe", preferably
> somewhere that multiple machines could identical directory structures.

Too many steps here.  The way to think of git is as a CVS/SVN server
repo on your machine.  Actually, scratch that.  Imagine we're
developing LoGS and we send one another patches of the changes we
make.  Now, a new developer coming to LoGS asking us "hey, which is
the source of truth of LoGS?" won't have a _coherent_ answer.  I might
say, here's _my_ version, and you can see Jim's version at location X.
(The new developer will say, correctly, these guys are psychotic, I'm
out.  But this literally is how Linux development works.  RedHat has
it's version which they base off of their Linux dev lead's branch but
Debian has some other source of truth………)

Anyway, so what's exchanged in git is typically entire _repositories_
and not subdirectories.  (Actually, git doesn't even track
subdirectories, only files.)

Here's what you do instead.

On your UNM github, create your project with the name.  Once you've
done that, come back to (1), complete it (if you haven't already), and
run the following

$ git remote add github <url>
$ git push github master

3. monitoring other people's changes.

this is a little trickier and i don't know what your stack is.

(a) can you make the students commit and push their changes to github?
(b) do you have to manually copy the files they touched?

Just some hints.

On Mon, Feb 5, 2018 at 12:51 PM, Jim Prewett <address@hidden> wrote:
>
> I'm glad someone is! :)  I'm trying to figure out just enough of it to be
> able to work with SPACK (a system for installing a bunch of packages each
> with different versions and build-time configuration options each built with
> several versions of several compilers.  For example I could install the HPL
> package (a standard cluster benchmark that top500.org uses to rank systems)
> built with GCC 4.8.5 and linked with Intel's MKL library (for fast LaPACK
> routines) using OpenMPI version 3.0.0 and also install it built with the
> Intel compilers version 18.0.1, MKL, and OpenMPI to compare GCC-generated
> binaries with Intel-generated ones despite most of the heavy lifting being
> done in the MKL library.  Then I can also install ones using LaPACK built
> using BLAS routines from the ATLAS library instead of using MKL... ETC. ETC.
> ETC.).  SPACK makes all of that relatively sane but really is only
> applicable to supercomputing shops (there might be others who need to build
> a billion versions of a package with several compilers), but I can't think
> of them...).
>
> I need to understand probably those 5 things plus a couple of others for my
> SPACK stuff. :)
>
> I want to figure out how to have a directory tree that is under git version
> control synchronized to some tree at github with a single subdirectory that
> is also under git VC, but lives somewhere else and commits to the tree under
> that single special directory are stored "somewhere safe", preferably
> somewhere that multiple machines could identical directory structures.
> UNM's Libraries provides a git repository and I'm going to look into using
> that for my "special" directory.  Any hints you might have would be greatly
> appreciated! :)
>
> On a related note: In SPACK, there are Python (shudder) files that define
> each package and how to build them.  SPACK is cool enough that I can get
> past the PYTHON. :)  A couple of my student employees have gone into these
> files and made changes.  I need to find out:
> 1. what files they've changed (so I can move them to my "special" directory
> which contains a SPACK "repo" directory containing any packages I've created
> or modified as I've configured SPACK to prefer the definitions in my
> directory to the default ones) and,
> 2. revert the changes they've made
>
> Got any ideas/hints on that one?
>
> Thanks,
>
> Jim
>
> On Mon, 5 Feb 2018, Vijay Lakshminarayanan wrote:
>
>> I'm a git guru.  You can do a million things with it and in a million
>> different ways.  but as far as we're concerned, certainly for LoGS, we
>> need probably 5 things (status, log, diff, fetch, merge), and it's
>> straightforward.
>>
>> I look forward to getting back with LoGS though.  I've completely
>> forgotten CL tho :-)
>>
>>
>> On Mon, Feb 5, 2018 at 12:15 PM, Jim Prewett <address@hidden>
>> wrote:
>>>
>>>
>>> Absolutely!  CVS is a pain! :)
>>>
>>> I don't know either git or hg very well, but git is on my list of things
>>> to
>>> learn, so my vote is git.
>>>
>>> Jim
>>>
>>>
>>> On Mon, 5 Feb 2018, Vijay Lakshminarayanan wrote:
>>>
>>>> Hi
>>>>
>>>> Can we migrate LoGS from CVS to git/hg?  I believe Savannah supports
>>>> both (I vote git).
>>>>
>>>> Thanks
>>>> Vijay
>>>>
>>>> _______________________________________________
>>>> LoGS-devel mailing list
>>>> address@hidden
>>>> https://lists.nongnu.org/mailman/listinfo/logs-devel
>>>>
>>>
>>> James E. Prewett                    address@hidden address@hidden
>>> Systems Team Leader           LoGS:
>>> http://www.hpc.unm.edu/~download/LoGS/
>>> Designated Security Officer         OpenPGP key: pub 1024D/31816D93
>>> HPC Systems Engineer III   UNM HPC  505.277.8210
>>
>>
>> _______________________________________________
>> LoGS-devel mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/logs-devel
>>
>
> James E. Prewett                    address@hidden address@hidden
> Systems Team Leader           LoGS: http://www.hpc.unm.edu/~download/LoGS/
> Designated Security Officer         OpenPGP key: pub 1024D/31816D93
> HPC Systems Engineer III   UNM HPC  505.277.8210



reply via email to

[Prev in Thread] Current Thread [Next in Thread]