The following reply was made to PR user/6497; it has been noted by GNATS.

From: Nicholas Marriott <[email protected]>
To: "Michael W. Bombardieri" <[email protected]>
Cc: [email protected]
Subject: Re: user/6497: opencvs import does not use CVSROOT environment variable
Date: Fri, 22 Oct 2010 18:38:09 +0100

 This was added by tobias in:
 
 ----------------------------
 revision 1.45
 date: 2008/06/20 23:00:13;  author: tobias;  state: Exp;  lines: +4 -1
 Don't parse CVS/Root during import.
 
 ok joris
 =============================================================================
 
 I guess we want to skip CVS/Root but not CVSROOT, something like (untested):
 
 Index: root.c
 ===================================================================
 RCS file: /cvs/src/usr.bin/cvs/root.c,v
 retrieving revision 1.46
 diff -u -p -r1.46 root.c
 --- root.c     21 Feb 2009 12:52:47 -0000      1.46
 +++ root.c     22 Oct 2010 17:36:43 -0000
 @@ -172,8 +172,11 @@ cvsroot_get(const char *dir)
        if (cvs_server_active == 1)
                return cvsroot_parse(dir);
  
 -      if (cvs_cmdop == CVS_OP_IMPORT)
 -              return NULL;
 +      if (cvs_cmdop == CVS_OP_IMPORT) {
 +              if ((rootstr = getenv("CVSROOT")) != NULL)
 +                      return (cvsroot_parse(rootstr));
 +              return (NULL);
 +      }
  
        (void)xsnprintf(rootpath, MAXPATHLEN, "%s/%s", dir, CVS_PATH_ROOTSPEC);
  
 
 
 
 On Fri, Oct 22, 2010 at 06:30:32AM -0700, Michael W. Bombardieri wrote:
 > >Number:         6497
 > >Category:       user
 > >Synopsis:       opencvs import does not use CVSROOT environment variable
 > >Confidential:   yes
 > >Severity:       serious
 > >Priority:       medium
 > >Responsible:    bugs
 > >State:          open
 > >Quarter:        
 > >Keywords:       
 > >Date-Required:
 > >Class:          sw-bug
 > >Submitter-Id:   unknown
 > >Arrival-Date:   Fri Oct 22 15:20:02 GMT 2010
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     
 > >Release:        
 > >Organization:
 > >Environment:
 >         System      : OpenBSD 4.7
 >         Details     : OpenBSD 4.7 (GENERIC) #112: Wed Mar 17 20:43:49 MDT 
 > 2010
 >                                  
 > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
 >                              
 >         Architecture: OpenBSD.amd64
 >         Machine     : amd64
 > >Description:
 > The opencvs "import" command will not work unless I explicitly use the -d 
 > option.
 > 
 > This problem has been traced back to cvsroot_get(), which was prematurely 
 > returning for CVS_OP_IMPORT.
 > I can't see why cvsroot_get() would want to ignore the import command.
 > If there is a good reason for this then maybe it could be commented in the 
 > source code.
 > 
 > >How-To-Repeat:
 > box:~/toimport$ printenv CVSROOT
 > /home/michael/cvs.dummy
 > box:~/toimport$ ls
 > a b
 > box:~/toimport$ cvs import -m "nothing" dir0 `whoami` start
 > N dir0/a
 > N dir0/b
 > 
 > No conflicts created by this import
 > 
 > box:~/toimport$ opencvs import -m "nothing" dir1 `whoami` start
 > opencvs import: No CVSROOT specified! Please use the '-d' option
 > opencvs [import aborted]: or set the CVSROOT environment variable.
 > box:~/toimport$ opencvs -d $CVSROOT import -m "nothing" dir1 `whoami` start
 > N dir1/a
 > N dir1/b
 > 
 > No conflicts created by this import.
 > 
 > >Fix:
 > My hunch is to remove the premature return statement.
 > Please ignore this PR if you believe the code is meant to be like that.
 > 
 > Index: root.c
 > ===================================================================
 > RCS file: /cvs/src/usr.bin/cvs/root.c,v
 > retrieving revision 1.46
 > diff -u root.c
 > --- root.c      21 Feb 2009 12:52:47 -0000      1.46
 > +++ root.c      22 Oct 2010 12:53:13 -0000
 > @@ -172,9 +172,6 @@
 >         if (cvs_server_active == 1)
 >                 return cvsroot_parse(dir);
 > 
 > -       if (cvs_cmdop == CVS_OP_IMPORT)
 > -               return NULL;
 > -
 >         (void)xsnprintf(rootpath, MAXPATHLEN, "%s/%s", dir, 
 > CVS_PATH_ROOTSPEC);
 > 
 >         if ((fp = fopen(rootpath, "r")) == NULL) {
 > 
 > 
 > 
 > Basic testing looks ok for local and remote repositories.
 > 
 > box:~/toimport$ printenv CVSROOT
 > /home/michael/cvs.dummy
 > box:~/toimport$ opencvs import -m "nothing" dir2 `whoami` start
 > N dir2/a
 > N dir2/b
 > 
 > No conflicts created by this import.
 > 
 > # Remote repo (ssh)
 > box:~/toimport$ printenv CVSROOT
 > cvs-test.bom:/var/cvs
 > box:~/toimport$ opencvs import -m "remove" remove `whoami` start
 > N remove/b
 > N remove/a
 > 
 > No conflicts created by this import
 > 
 > 
 > 
 > dmesg:
 > OpenBSD 4.7 (GENERIC) #112: Wed Mar 17 20:43:49 MDT 2010
 >     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
 > real mem = 804192256 (766MB)
 > avail mem = 770875392 (735MB)
 > mainbus0 at root
 > bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xfbd3f (10 entries)
 > bios0: vendor QEMU version "QEMU" date 01/01/2007
 > acpi0 at bios0: rev 0
 > acpi0: tables DSDT FACP APIC
 > acpi0: wakeup devices
 > acpitimer0 at acpi0: 3579545 Hz, 24 bits
 > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
 > acpiprt0 at acpi0: bus 0 (PCI0)
 > acpicpu0 at acpi0
 > mpbios at bios0 not configured
 > cpu0 at mainbus0: (uniprocessor)
 > cpu0: QEMU Virtual CPU version 0.9.1, 2667.25 MHz
 > cpu0: 
 > FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,NXE,LONG
 > cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
 > 64b/line 16-way L2 cache
 > cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
 > cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
 > pci0 at mainbus0 bus 0
 > pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
 > pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
 > pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 
 > 0 wired to compatibility, channel 1 wired to compatibility
 > wd0 at pciide0 channel 0 drive 0: <QEMU HARDDISK>
 > wd0: 16-sector PIO, LBA48, 20480MB, 41943040 sectors
 > atapiscsi0 at pciide0 channel 0 drive 1
 > scsibus0 at atapiscsi0: 2 targets
 > cd0 at scsibus0 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 0.9.> ATAPI 5/cdrom 
 > removable
 > wd0(pciide0:0:0): using PIO mode 0, DMA mode 2
 > cd0(pciide0:0:1): using PIO mode 0
 > atapiscsi1 at pciide0 channel 1 drive 0
 > scsibus1 at atapiscsi1: 2 targets
 > cd1 at scsibus1 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 0.9.> ATAPI 5/cdrom 
 > removable
 > cd1(pciide0:1:0): using PIO mode 0
 > uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: irq 11
 > piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: irq 10
 > iic0 at piixpm0
 > iic0: addr 0x18 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x1a 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x29 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x2b 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x48 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x49 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4a 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4b 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4c 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 48=00 
 > words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x4d 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4e 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 48=00 
 > words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00
 > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
 > wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
 > em0 at pci0 dev 3 function 0 "Intel PRO/1000MT (82540EM)" rev 0x03: irq 11, 
 > address 52:54:00:27:21:96
 > "Qumranet Virtio Memory" rev 0x00 at pci0 dev 4 function 0 not configured
 > "Qumranet Virtio Console" rev 0x00 at pci0 dev 5 function 0 not configured
 > isa0 at pcib0
 > isadma0 at isa0
 > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
 > com0: probed fifo depth: 0 bytes
 > pckbc0 at isa0 port 0x60/5
 > pckbd0 at pckbc0 (kbd slot)
 > pckbc0: using irq 1 for kbd slot
 > wskbd0 at pckbd0: console keyboard, using wsdisplay0
 > pmsi0 at pckbc0 (aux slot)
 > pckbc0: using irq 12 for aux slot
 > wsmouse0 at pmsi0 mux 0
 > pcppi0 at isa0 port 0x61
 > midi0 at pcppi0: <PC speaker>
 > spkr0 at pcppi0
 > fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
 > fd0 at fdc0 drive 0: density unknown
 > fd1 at fdc0 drive 1: density unknown
 > usb0 at uhci0: USB revision 1.0
 > uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
 > nvram: invalid checksum
 > mtrr: Pentium Pro MTRR support
 > vscsi0 at root
 > scsibus2 at vscsi0: 256 targets
 > softraid0 at root
 > root on wd0a swap on wd0b dump on wd0b
 > clock: unknown CMOS layout
 > syncing disks... done
 > rebooting...
 > OpenBSD 4.7 (GENERIC) #112: Wed Mar 17 20:43:49 MDT 2010
 >     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
 > real mem = 804192256 (766MB)
 > avail mem = 770875392 (735MB)
 > mainbus0 at root
 > bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xfbd3f (10 entries)
 > bios0: vendor QEMU version "QEMU" date 01/01/2007
 > acpi0 at bios0: rev 0
 > acpi0: tables DSDT FACP APIC
 > acpi0: wakeup devices
 > acpitimer0 at acpi0: 3579545 Hz, 24 bits
 > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
 > acpiprt0 at acpi0: bus 0 (PCI0)
 > acpicpu0 at acpi0
 > mpbios at bios0 not configured
 > cpu0 at mainbus0: (uniprocessor)
 > cpu0: QEMU Virtual CPU version 0.9.1, 2665.99 MHz
 > cpu0: 
 > FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,NXE,LONG
 > cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 
 > 64b/line 16-way L2 cache
 > cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
 > cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
 > pci0 at mainbus0 bus 0
 > pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
 > pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
 > pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 
 > 0 wired to compatibility, channel 1 wired to compatibility
 > wd0 at pciide0 channel 0 drive 0: <QEMU HARDDISK>
 > wd0: 16-sector PIO, LBA48, 20480MB, 41943040 sectors
 > atapiscsi0 at pciide0 channel 0 drive 1
 > scsibus0 at atapiscsi0: 2 targets
 > cd0 at scsibus0 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 0.9.> ATAPI 5/cdrom 
 > removable
 > wd0(pciide0:0:0): using PIO mode 0, DMA mode 2
 > cd0(pciide0:0:1): using PIO mode 0
 > atapiscsi1 at pciide0 channel 1 drive 0
 > scsibus1 at atapiscsi1: 2 targets
 > cd1 at scsibus1 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 0.9.> ATAPI 5/cdrom 
 > removable
 > cd1(pciide0:1:0): using PIO mode 0
 > uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: irq 11
 > piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: irq 10
 > iic0 at piixpm0
 > iic0: addr 0x18 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x1a 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x29 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x2b 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 words 
 > 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x48 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x49 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4a 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4b 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4c 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 48=00 
 > words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > iic0: addr 0x4d 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
 > 06=0000 07=0000
 > iic0: addr 0x4e 00=00 01=00 02=00 03=00 04=00 05=00 06=00 07=00 08=00 48=00 
 > words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 06=0000 07=0000
 > vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00
 > wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
 > wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
 > em0 at pci0 dev 3 function 0 "Intel PRO/1000MT (82540EM)" rev 0x03: irq 11, 
 > address 52:54:00:27:21:96
 > "Qumranet Virtio Memory" rev 0x00 at pci0 dev 4 function 0 not configured
 > "Qumranet Virtio Console" rev 0x00 at pci0 dev 5 function 0 not configured
 > isa0 at pcib0
 > isadma0 at isa0
 > com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
 > com0: probed fifo depth: 0 bytes
 > pckbc0 at isa0 port 0x60/5
 > pckbd0 at pckbc0 (kbd slot)
 > pckbc0: using irq 1 for kbd slot
 > wskbd0 at pckbd0: console keyboard, using wsdisplay0
 > pmsi0 at pckbc0 (aux slot)
 > pckbc0: using irq 12 for aux slot
 > wsmouse0 at pmsi0 mux 0
 > pcppi0 at isa0 port 0x61
 > midi0 at pcppi0: <PC speaker>
 > spkr0 at pcppi0
 > fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
 > fd0 at fdc0 drive 0: density unknown
 > fd1 at fdc0 drive 1: density unknown
 > usb0 at uhci0: USB revision 1.0
 > uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
 > nvram: invalid checksum
 > mtrr: Pentium Pro MTRR support
 > vscsi0 at root
 > scsibus2 at vscsi0: 256 targets
 > softraid0 at root
 > root on wd0a swap on wd0b dump on wd0b
 > clock: unknown CMOS layout
 > 
 > 
 > >Release-Note:
 > >Audit-Trail:
 > >Unformatted:

Reply via email to