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

CVS Merge Compare Logic and Commentary



http://fedoraproject.org/wiki/Infrastructure/CoreExtrasCVSMerge
I made some improvements to notting's script from this page. A few thoughts went into this...

1) At notting's recommendation the script only looks at /cvs/dist packages that exist as source RPM %{name} in rawhide. 2) The FC-6 specific logic was removed, because it is actually irrelevant. We are dealing with merging of only 'devel' on Wednesday. The script tells you with WARN statements if a package is clearly moved from Extras to Core, or if it is ambiguous because dead.package was never added during the move. Upon inspection a decision can be made manually. This script can be easily reused to do the same by comparing FC-6 to FC-6 when we merge FC-6 into /cvs/pkgs later. 3) Some packages may have moved from Core to Extras during this cycle. The package in /cvs/dist might not be properly marked with dead.package. But this is OK, because these would have been excluded from this copy list because they were not packages in rawhide anyway.
4) A few of the WARN DEVEL errors can be fixed even prior to the merge.
5) The less serious WARN MOVED messages, you might even be safe just blanket blowing away the existing /cvs/extras/rpms/$i/devel and replacing it with the /cvs/dist version. I am uncertain about this at this late hour though. Sleeping...

# http://people.redhat.com/wtogami/temp/rawhide-srpm-names.txt
SRPMLIST=rawhide-srpm-names.txt
for i in `cat $SRPMLIST` ; do
  # Skip and warn if devel is a dead.package (SANITY CHECK)
  if [ -f /cvs/dist/rpms/$i/devel/dead.package,v ]; then
echo "SANITY DEAD: $i is a package in rawhide, but marked as dead.package in /cvs/dist"
    continue;
  fi ;
  # Skip if devel directory does not exist (SANITY CHECK)
  if [ ! -d /cvs/dist/rpms/$i/devel ]; then
    echo "SANITY MISSING: $i/devel does not exist, skipping..."
    continue;
  fi ;

  # If devel exists in both Core and Extras, figure out why
  if [ -d /cvs/extras/rpms/$i/devel ]; then
    if [ -f /cvs/extras/rpms/$i/devel/dead.package,v ]; then
# Package moved from FE to FC, you might be able to erase FE and replace it with FC
       echo "WARN MOVED: $i moved from FE to FC"
    else
       # Package was moved, but improperly marked, investigate carefully
       echo "WARN DEVEL: $i is alive in both FC and FE devel, investigate"
    fi
  else
    # No conflicts, proceed with copying
    echo /usr/local/bin/setup_package $i
    echo mkdir -p /cvs/extras/rpms/$i/devel ;
    echo cp -rv $i/devel/* /cvs/extras/rpms/$i/devel ;
  fi
done | tee cvscopy.out


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