Early this morning I started poking around the database to see if there were some issue I needed to fix. I found some. Specifically, the port commits are all under ports/, but the src commits appear to be under /. This situation can be fixed fairly easily via SQL, but to maintain the structure will require a code change.
I suspect the ports commits prefix ports/ to the pathname before saving. The src commits need to do similar.
Here is a list of files in the root directory of the tree structure:
freshports.org=# select name, element_pathname(id) from element where parent_id is null order by element_pathname(id);
name | element_pathname
-----------------------------------------------+------------------------------------------------
release | / release
releng | / releng
svnadmin | / svnadmin
vendor-crypto | / vendor-crypto
vendor-sys | / vendor-sys
COPYRIGHT | /COPYRIGHT
COPYRIGHT (contents, props changed) | /COPYRIGHT (contents, props changed)
CVSROOT | /CVSROOT
CVSROOT-doc | /CVSROOT-doc
CVSROOT-ports | /CVSROOT-ports
CVSROOT-src | /CVSROOT-src
Directory Properties: | /Directory Properties:
MAINTAINERS | /MAINTAINERS
MAINTAINERS (contents, props changed) | /MAINTAINERS (contents, props changed)
Makefile | /Makefile
Makefile (contents, props changed) | /Makefile (contents, props changed)
Makefile.inc1 | /Makefile.inc1
Makefile.inc1 (contents, props changed) | /Makefile.inc1 (contents, props changed)
Makefile.mips | /Makefile.mips
Mk | /Mk
NetBSD | /NetBSD
ObsoleteFiles.inc | /ObsoleteFiles.inc
ObsoleteFiles.inc (contents, props changed) | /ObsoleteFiles.inc (contents, props changed)
Replaced: | /Replaced:
UPDATING | /UPDATING
UPDATING (contents, props changed) | /UPDATING (contents, props changed)
bin | /bin
bind9 | /bind9
byacc | /byacc
cddl | /cddl
clang | /clang
com_err | /com_err
compiler-rt | /compiler-rt
contrib | /contrib
crypto | /crypto
databases | /databases
de_DE.ISO8859-1 | /de_DE.ISO8859-1
distrib | /distrib
doc | /doc
dtracetoolkit | /dtracetoolkit
en_US.ISO8859-1 | /en_US.ISO8859-1
es_ES.ISO8859-1 | /es_ES.ISO8859-1
etc | /etc
file | /file
flex | /flex
fr_FR.ISO8859-1 | /fr_FR.ISO8859-1
games | /games
gcc | /gcc
gnu | /gnu
gperf | /gperf
groff | /groff
illumos | /illumos
include | /include
it_IT.ISO8859-15 | /it_IT.ISO8859-15
ja_JP.eucJP | /ja_JP.eucJP
kerberos5 | /kerberos5
ldns | /ldns
less | /less
lib | /lib
libarchive | /libarchive
libc++ | /libc++
libcxxrt | /libcxxrt
libexec | /libexec
libpcap | /libpcap
libz | /libz
llvm | /llvm
mn_MN.UTF-8 | /mn_MN.UTF-8
net-im | /net-im
netcat | /netcat
nl_NL.ISO8859-1 | /nl_NL.ISO8859-1
one-true-awk | /one-true-awk
openpam | /openpam
openresolv | /openresolv
pciids | /pciids
ports | /ports
projects | /projects
release | /release
rescue | /rescue
ru_RU.KOI8-R | /ru_RU.KOI8-R
sbin | /sbin
secure | /secure
share | /share
src | /src
sys | /sys
tcpdump | /tcpdump
tcsh | /tcsh
tools | /tools
tzdata | /tzdata
unbound | /unbound
usr.bin | /usr.bin
usr.sbin | /usr.sbin
www | /www
xz-embedded | /xz-embedded
zh_CN.GB2312 | /zh_CN.GB2312
(94 rows)
freshports.org=#
Yes, some pathnames are not quite what I’d like them to be. For example, this commit:
freshports.org=# select *, element_pathname(element_id) from commit_log_elements where commit_log_id = (select id from commit_log where message_id = '201207071717.q67HHh5s068245@svn.freebsd.org'); id | commit_log_id | element_id | revision_name | change_type | element_pathname ---------+---------------+------------+---------------+-------------+-------------------------- 1884404 | 441606 | 393311 | 238200 | M | /sys/cam/scsi/scsi_ch.c 1884403 | 441606 | 378774 | 238200 | M | /sys/cam/scsi/scsi_all.c
Those pathnames, I think, should start with src/











