migrate away from CVS

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

migrate away from CVS

Vijay Lakshminarayanan-2
Hi

Can we migrate LoGS from CVS to git/hg?  I believe Savannah supports
both (I vote git).

Thanks
Vijay

_______________________________________________
LoGS-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/logs-devel
Reply | Threaded
Open this post in threaded view
|

Re: migrate away from CVS

Jim Prewett-2

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
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/logs-devel
>

James E. Prewett                    [hidden email] [hidden email]
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
[hidden email]
https://lists.nongnu.org/mailman/listinfo/logs-devel
Reply | Threaded
Open this post in threaded view
|

Re: migrate away from CVS

Vijay Lakshminarayanan-2
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 <[hidden email]> 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
>> [hidden email]
>> https://lists.nongnu.org/mailman/listinfo/logs-devel
>>
>
> James E. Prewett                    [hidden email] [hidden email]
> 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
[hidden email]
https://lists.nongnu.org/mailman/listinfo/logs-devel
Reply | Threaded
Open this post in threaded view
|

Re: migrate away from CVS

Jim Prewett-2

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 <[hidden email]> 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
>>> [hidden email]
>>> https://lists.nongnu.org/mailman/listinfo/logs-devel
>>>
>>
>> James E. Prewett                    [hidden email] [hidden email]
>> 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
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/logs-devel
>

James E. Prewett                    [hidden email] [hidden email]
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
[hidden email]
https://lists.nongnu.org/mailman/listinfo/logs-devel
Reply | Threaded
Open this post in threaded view
|

Re: migrate away from CVS

Vijay Lakshminarayanan-2
> 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 "[hidden email]"
## 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 <[hidden email]> 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 <[hidden email]>
>> 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
>>>> [hidden email]
>>>> https://lists.nongnu.org/mailman/listinfo/logs-devel
>>>>
>>>
>>> James E. Prewett                    [hidden email] [hidden email]
>>> 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
>> [hidden email]
>> https://lists.nongnu.org/mailman/listinfo/logs-devel
>>
>
> James E. Prewett                    [hidden email] [hidden email]
> 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
[hidden email]
https://lists.nongnu.org/mailman/listinfo/logs-devel