Notes about git-svn source control in macOS

2021-03-26 Thread Peter Teeson
Hi Jürgen:
Hope the following can be useful and perhaps even remove the extra maintenance 
burden of git.

I don’t understand enough about the various configure files (.ac, .sub, etc 
etc) etc to modify buildtag myself.

respect

Peter


For macOS users

TL:DNR
// download svn repo using git clone
Gandalf:~ pteeson$ git svn clone --preserve-empty-dirs -r HEAD 
https://svn.savannah.gnu.org/svn/apl/trunk > git-log 2>&1 

// for build tag script mods
// Are we on macOS and which version
Gandalf:trunk-git pteeson$ sw_vers |grep "ProductName"
ProductName:Mac OS X
 
Gandalf:trunk-git pteeson$ sw_vers | grep "ProductVersion"
ProductVersion: 10.14.6

// which svn 
Gandalf:trunk-git pteeson$ git svn info | grep "Revision:"
Revision: 1440

Details
Because Apple no longer distributes svn as part of its Developer tools (Xcode 
and Command Line Tools)
macOS users  should use git or take responsibility for installing svn. Of 
course this is not a big deal.

But for those who wish to use Apple’s tools I have been doing some deep diving 
over the last many days and learned a few things.

(1) Compare downloading the GNU APL repository using svn vs git

Gandalf:~ pteeson$ svn co http://svn.savannah.gnu.org/svn/apl/trunk > svn-log 
2>&1
Gandalf:~ pteeson$ git svn clone --preserve-empty-dirs -r HEAD 
https://svn.savannah.gnu.org/svn/apl/trunk > git-log 2>&1

git notes:  (a) if you do not specify the -r HEAD option you will be 
downloading all 1440 svns. This is usually NOT what you want!
  You really only want the latest svn, in this example 1440.

(b) If you do not use --preserve-empty-dirs you will not be 
happy - ask Jürgen for the details.

 (c) It’s not reasonable to diff download logs because the 
order in which the files are gathered is Heisenberged.
  Unless you want to sort them both - but why bother.

(d) However comparing the respective ./confire logs shows only 
3 differences 
  2 of them are the respective names of the download dirs:  
trunk-git vs trunk-svn 

  1 from the git ./configure —— *** current directory is 
not a svn checkout: keeping old buildtag. 
   But see item (2) below. Credit to John Helm for 
discovering this.

The good news is that it seems possible to lighten Jürgens maintenance load by 
eliminating the git server and use the svn URL.
and git clone with the added options indicated above.

See  where the above options are documented.

(2) The git./configure issue requires some mods to the buildtag script. 
But it’s encouraging to compare the svn info vs the git svn info. (see git-svn 
documentation)

Gandalf:~ pteeson$ cd /Users/pteeson/Desktop/trunk-svn  
Gandalf:~ pteeson$ cd /Users/pteeson/Desktop/trunk-git 
Gandalf:trunk-svn pteeson$ svn info 
Gandalf:trunk-git pteeson$ git svn info 

Path: . 
Path: .
Working Copy Root Path: /Users/pteeson/Desktop/trunk-svn
URL: http://svn.savannah.gnu.org/svn/apl/trunk  
URL: https://svn.savannah.gnu.org/svn/apl/trunk
Relative URL: ^/trunk
Repository Root: http://svn.savannah.gnu.org/svn/apl
Repository Root: https://svn.savannah.gnu.org/svn/apl
Repository UUID: bd74f7bd-1a55-4bac-9fab-68015b139e80   Repository 
UUID: bd74f7bd-1a55-4bac-9fab-68015b139e80
Revision: 1440  
Revision: 1440
Node Kind: directory
Node Kind: directory
Schedule: normal
Schedule: normal
Last Changed Author: j_sauermann
Last Changed Author: j_sauermann
Last Changed Rev: 1440  
Last Changed Rev: 1440
Last Changed Date: 2021-02-26 10:54:15 -0500 (Fri, 26 Feb 2021) Last Changed 
Date: 2021-02-26 10:54:15 -0500 (Fri, 26 Feb 2021)

(3) buildtag script mods.
In Terminal bash/vsh we can use sw_vers to give us this information for mods to 
builtags:

Gandalf:trunk-git pteeson$ sw_vers |grep "ProductName"
ProductName:Mac OS X
 
Gandalf:trunk-git pteeson$ sw_vers | grep "ProductVersion"
ProductVersion: 10.14.6

Together with git svn info 

Gandalf:trunk-git pteeson$ git svn info | grep "Revision:"
Revision: 1440


HTH

Notes about git-svn source control in macOS

2021-03-26 Thread Peter Teeson

Hi Jürgen:
Hope the following can be useful and perhaps even remove the extra maintenance 
burden of git.

I don’t understand enough about the various configure files (.ac, .sub, etc 
etc) etc to modify buildtag myself.

respect

Peter


For macOS users

TL:DNR
// download svn repo using git clone
Gandalf:~ pteeson$ git svn clone --preserve-empty-dirs -r HEAD 
https://svn.savannah.gnu.org/svn/apl/trunk 
 > git-log 2>&1 

// for build tag script mods
// Are we on macOS and which version
Gandalf:trunk-git pteeson$ sw_vers |grep "ProductName"
ProductName:Mac OS X
 
Gandalf:trunk-git pteeson$ sw_vers | grep "ProductVersion"
ProductVersion: 10.14.6

// which svn 
Gandalf:trunk-git pteeson$ git svn info | grep "Revision:"
Revision: 1440

Details
Because Apple no longer distributes svn as part of its Developer tools (Xcode 
and Command Line Tools)
macOS users  should use git or take responsibility for installing svn. Of 
course this is not a big deal.

But for those who wish to use Apple’s tools I have been doing some deep diving 
over the last many days and learned a few things.

(1) Compare downloading the GNU APL repository using svn vs git

Gandalf:~ pteeson$ svn co http://svn.savannah.gnu.org/svn/apl/trunk 
 > svn-log 2>&1
Gandalf:~ pteeson$ git svn clone --preserve-empty-dirs -r HEAD 
https://svn.savannah.gnu.org/svn/apl/trunk 
 > git-log 2>&1

git notes:  (a) if you do not specify the -r HEAD option you will be 
downloading all 1440 svns. This is usually NOT what you want!
  You really only want the latest svn, in this example 1440.

(b) If you do not use --preserve-empty-dirs you will not be 
happy - ask Jürgen for the details.

 (c) It’s not reasonable to diff download logs because the 
order in which the files are gathered is Heisenberged.
  Unless you want to sort them both - but why bother.

(d) However comparing the respective ./confire logs shows only 
3 differences 
  2 of them are the respective names of the download dirs:  
trunk-git vs trunk-svn 

  1 from the git ./configure —— *** current directory is 
not a svn checkout: keeping old buildtag. 
   But see item (2) below. Credit to John Helm for 
discovering this.

The good news is that it seems possible to lighten Jürgens maintenance load by 
eliminating the git server and use the svn URL.
and git clone with the added options indicated above.

See > where 
the above options are documented.

(2) The git./configure issue requires some mods to the buildtag script. 
But it’s encouraging to compare the svn info vs the git svn info. (see git-svn 
documentation)

Gandalf:~ pteeson$ cd /Users/pteeson/Desktop/trunk-svn  
Gandalf:~ pteeson$ cd /Users/pteeson/Desktop/trunk-git 
Gandalf:trunk-svn pteeson$ svn info 
Gandalf:trunk-git pteeson$ git svn info 

Path: . 
Path: .
Working Copy Root Path: /Users/pteeson/Desktop/trunk-svn
URL: http://svn.savannah.gnu.org/svn/apl/trunk 
 
 URL: https://svn.savannah.gnu.org/svn/apl/trunk 

Relative URL: ^/trunk
Repository Root: http://svn.savannah.gnu.org/svn/apl 
  Repository 
Root: https://svn.savannah.gnu.org/svn/apl 

Repository UUID: bd74f7bd-1a55-4bac-9fab-68015b139e80   Repository 
UUID: bd74f7bd-1a55-4bac-9fab-68015b139e80
Revision: 1440  
Revision: 1440
Node Kind: directory
Node Kind: directory
Schedule: normal
Schedule: normal
Last Changed Author: j_sauermann
Last Changed Author: j_sauermann
Last Changed Rev: 1440  
Last Changed Rev: 1440
Last Changed Date: 2021-02-26 10:54:15 -0500 (Fri, 26 Feb 2021) Last Changed 
Date: 2021-02-26 10:54:15 -0500 (Fri, 26 Feb 2021)

(3) buildtag script mods.
In Terminal bash/vsh we can use sw_vers to give us this information for mods to 
builtags:

Gandalf:trunk-git pteeson$ sw_vers |grep "ProductName"
ProductName:Mac OS X
 
Gandalf:trunk-git pteeson$ sw_vers | grep "ProductVersion"
Prod

./configure error

2021-03-26 Thread Bill Heagy

It looks like there's a path problem with ./configure in the latest update.
...
config.status: creating wslib5/Makefile
config.status: creating wslib5/APLComponentFiles/Makefile
config.status: creating wslib5/iso-apl-cf/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

configure: creating buildtag.hh...
svn: E155007: '/src/Archive.cc' is not a working copy
configure: top-level apl directory is: /home
configure: creating /home/makefile.h ...
cp: cannot create regular file '../../../../makefile.h': Permission denied
configure: creating /home/configure_args.cc
./configure: line 22964: ../../../../configure_args.cc: Permission denied

configure: saving configure options in ../../../../configure_options
./configure: line 22983: ../../../../configure_options: Permission denied



Re: ./configure error

2021-03-26 Thread Peter Teeson
Please provide name -v


> On Mar 26, 2021, at 6:05 PM, Bill Heagy  wrote:
> 
> It looks like there's a path problem with ./configure in the latest update.
> ...
> config.status: creating wslib5/Makefile
> config.status: creating wslib5/APLComponentFiles/Makefile
> config.status: creating wslib5/iso-apl-cf/Makefile
> config.status: creating config.h
> config.status: config.h is unchanged
> config.status: executing depfiles commands
> config.status: executing libtool commands
> 
> configure: creating buildtag.hh...
> svn: E155007: '/src/Archive.cc' is not a working copy
> configure: top-level apl directory is: /home
> configure: creating /home/makefile.h ...
> cp: cannot create regular file '../../../../makefile.h': Permission denied
> configure: creating /home/configure_args.cc
> ./configure: line 22964: ../../../../configure_args.cc: Permission denied
> 
> configure: saving configure options in ../../../../configure_options
> ./configure: line 22983: ../../../../configure_options: Permission denied
> 




Re: ./configure error

2021-03-26 Thread Peter Teeson
Sorry.. .Please provide 

uname -v


> On Mar 26, 2021, at 6:05 PM, Bill Heagy  wrote:
> 
> It looks like there's a path problem with ./configure in the latest update.
> ...
> config.status: creating wslib5/Makefile
> config.status: creating wslib5/APLComponentFiles/Makefile
> config.status: creating wslib5/iso-apl-cf/Makefile
> config.status: creating config.h
> config.status: config.h is unchanged
> config.status: executing depfiles commands
> config.status: executing libtool commands
> 
> configure: creating buildtag.hh...
> svn: E155007: '/src/Archive.cc' is not a working copy
> configure: top-level apl directory is: /home
> configure: creating /home/makefile.h ...
> cp: cannot create regular file '../../../../makefile.h': Permission denied
> configure: creating /home/configure_args.cc
> ./configure: line 22964: ../../../../configure_args.cc: Permission denied
> 
> configure: saving configure options in ../../../../configure_options
> ./configure: line 22983: ../../../../configure_options: Permission denied
> 




Re: ./configure error

2021-03-26 Thread Bill Heagy

$ uname -v
#1 SMP Debian 5.10.24-1 (2021-03-19)

On 3/26/21 8:06 PM, Peter Teeson wrote:

Sorry.. .Please provide

uname -v



On Mar 26, 2021, at 6:05 PM, Bill Heagy  wrote:

It looks like there's a path problem with ./configure in the latest update.
...
config.status: creating wslib5/Makefile
config.status: creating wslib5/APLComponentFiles/Makefile
config.status: creating wslib5/iso-apl-cf/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

configure: creating buildtag.hh...
svn: E155007: '/src/Archive.cc' is not a working copy
configure: top-level apl directory is: /home
configure: creating /home/makefile.h ...
cp: cannot create regular file '../../../../makefile.h': Permission denied
configure: creating /home/configure_args.cc
./configure: line 22964: ../../../../configure_args.cc: Permission denied

configure: saving configure options in ../../../../configure_options
./configure: line 22983: ../../../../configure_options: Permission denied







Can't configure current APL

2021-03-26 Thread Blake McBride
Greetings,

I am running 64-bit LinuxMint 19.3.  I am getting an error on ./configure
as follows:

# rm -rf *
# svn update
# ./configure
[...]
config.status: creating wslib3/Makefile
config.status: creating wslib4/Makefile
config.status: creating wslib5/Makefile
config.status: creating wslib5/APLComponentFiles/Makefile
config.status: creating wslib5/iso-apl-cf/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

configure: creating buildtag.hh...
svn: E155007: '/src/Archive.cc' is not a working copy
configure: top-level apl directory is: /
configure: creating //makefile.h ...
cp: cannot create regular file '../../../../makefile.h': Permission denied
configure: creating //configure_args.cc
./configure: line 22972: ../../../../configure_args.cc: Permission denied

configure: saving configure options in ../../../../configure_options
./configure: line 22991: ../../../../configure_options: Permission denied
#

Thanks!

Blake McBride


Re: ./configure error

2021-03-26 Thread Peter Teeson
Sorry I am not the right person to help. I’m on Mac OS.


> On Mar 26, 2021, at 8:48 PM, Bill Heagy  wrote:
> 
> $ uname -v
> #1 SMP Debian 5.10.24-1 (2021-03-19)
> 
> On 3/26/21 8:06 PM, Peter Teeson wrote:
>> Sorry.. .Please provide
>> uname -v
>>> On Mar 26, 2021, at 6:05 PM, Bill Heagy  wrote:
>>> 
>>> It looks like there's a path problem with ./configure in the latest update.
>>> ...
>>> config.status: creating wslib5/Makefile
>>> config.status: creating wslib5/APLComponentFiles/Makefile
>>> config.status: creating wslib5/iso-apl-cf/Makefile
>>> config.status: creating config.h
>>> config.status: config.h is unchanged
>>> config.status: executing depfiles commands
>>> config.status: executing libtool commands
>>> 
>>> configure: creating buildtag.hh...
>>> svn: E155007: '/src/Archive.cc' is not a working copy
>>> configure: top-level apl directory is: /home
>>> configure: creating /home/makefile.h ...
>>> cp: cannot create regular file '../../../../makefile.h': Permission denied
>>> configure: creating /home/configure_args.cc
>>> ./configure: line 22964: ../../../../configure_args.cc: Permission denied
>>> 
>>> configure: saving configure options in ../../../../configure_options
>>> ./configure: line 22983: ../../../../configure_options: Permission denied
>>> 
> 




Re: Can't configure current APL

2021-03-26 Thread Peter Teeson
Interesting. both of you have same error but different OS' although both 
Linux’s.

I just downloaded latest, i.e. svn 1445, using git and ./configure gives me the 
same error.
(my earlier experiments were with svn 1440 and all was OK.)

What did you use to download - svn? or tarball? or git?

config.status: executing libtool commands

configure: creating buildtag.hh...
*** current directory is not an SVN checkout: keeping old buildtag
readlink: illegal option -- f
usage: readlink [-n] [file ...]
configure: top-level apl directory is: 
configure: creating /makefile.h ...
cp: ../../../../makefile.h: Permission denied
configure: creating /configure_args.cc
./configure: line 22972: ../../../../configure_args.cc: Permission denied
 
configure: saving configure options in ../../../../configure_options
./configure: line 22991: ../../../../configure_options: Permission denied

> On Mar 26, 2021, at 9:12 PM, Blake McBride  wrote:
> 
> Greetings,
> 
> I am running 64-bit LinuxMint 19.3.  I am getting an error on ./configure as 
> follows:
> 
> # rm -rf *
> # svn update
> # ./configure
> [...]
> config.status: creating wslib3/Makefile
> config.status: creating wslib4/Makefile
> config.status: creating wslib5/Makefile
> config.status: creating wslib5/APLComponentFiles/Makefile
> config.status: creating wslib5/iso-apl-cf/Makefile
> config.status: creating config.h
> config.status: executing depfiles commands
> config.status: executing libtool commands
> 
> configure: creating buildtag.hh...
> svn: E155007: '/src/Archive.cc' is not a working copy
> configure: top-level apl directory is: /
> configure: creating //makefile.h ...
> cp: cannot create regular file '../../../../makefile.h': Permission denied
> configure: creating //configure_args.cc
> ./configure: line 22972: ../../../../configure_args.cc: Permission denied
>  
> configure: saving configure options in ../../../../configure_options
> ./configure: line 22991: ../../../../configure_options: Permission denied
> #
> 
> Thanks!
> 
> Blake McBride
> 



Re: ./configure error

2021-03-26 Thread Bill Heagy
I think the "f" variable in the do loop near the end of "configure" is 
being reset in "source buildtag.sh", which also uses "f".  Changing one 
of these do something else, e.g. "", seems to work.  (It's easier to 
change the one in buildtag.sh: it only appears once.)


On 3/26/21 9:38 PM, Peter Teeson wrote:

Sorry I am not the right person to help. I’m on Mac OS.



On Mar 26, 2021, at 8:48 PM, Bill Heagy  wrote:

$ uname -v
#1 SMP Debian 5.10.24-1 (2021-03-19)

On 3/26/21 8:06 PM, Peter Teeson wrote:

Sorry.. .Please provide
uname -v

On Mar 26, 2021, at 6:05 PM, Bill Heagy  wrote:

It looks like there's a path problem with ./configure in the latest update.
...
config.status: creating wslib5/Makefile
config.status: creating wslib5/APLComponentFiles/Makefile
config.status: creating wslib5/iso-apl-cf/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

configure: creating buildtag.hh...
svn: E155007: '/src/Archive.cc' is not a working copy
configure: top-level apl directory is: /home
configure: creating /home/makefile.h ...
cp: cannot create regular file '../../../../makefile.h': Permission denied
configure: creating /home/configure_args.cc
./configure: line 22964: ../../../../configure_args.cc: Permission denied

configure: saving configure options in ../../../../configure_options
./configure: line 22983: ../../../../configure_options: Permission denied









Re: ./configure error

2021-03-26 Thread Bill Heagy
Looking at this further, there's a whole block in buildtag.sh that 
duplicates definitions in configure and resets apl_top.  I think this 
block can be deleted (but I haven't worked with bash scripts for 
"awhile", so please check my logic).


On 3/26/21 10:55 PM, Bill Heagy wrote:
I think the "f" variable in the do loop near the end of "configure" is 
being reset in "source buildtag.sh", which also uses "f".  Changing one 
of these do something else, e.g. "", seems to work.  (It's easier to 
change the one in buildtag.sh: it only appears once.)


On 3/26/21 9:38 PM, Peter Teeson wrote:

Sorry I am not the right person to help. I’m on Mac OS.



On Mar 26, 2021, at 8:48 PM, Bill Heagy  wrote:

$ uname -v
#1 SMP Debian 5.10.24-1 (2021-03-19)

On 3/26/21 8:06 PM, Peter Teeson wrote:

Sorry.. .Please provide
uname -v

On Mar 26, 2021, at 6:05 PM, Bill Heagy  wrote:

It looks like there's a path problem with ./configure in the latest 
update.

...
config.status: creating wslib5/Makefile
config.status: creating wslib5/APLComponentFiles/Makefile
config.status: creating wslib5/iso-apl-cf/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

configure: creating buildtag.hh...
svn: E155007: '/src/Archive.cc' is not a working copy
configure: top-level apl directory is: /home
configure: creating /home/makefile.h ...
cp: cannot create regular file '../../../../makefile.h': Permission 
denied

configure: creating /home/configure_args.cc
./configure: line 22964: ../../../../configure_args.cc: Permission 
denied


configure: saving configure options in ../../../../configure_options
./configure: line 22983: ../../../../configure_options: Permission 
denied