[coreboot] Flashrom: Repository change
Patrick Georgi
patrick.georgi at coresystems.de
Sun Apr 26 21:54:48 CEST 2009
Hello all,
Notice: These changes affect users of the coreboot-v2 repository, too! See
below (section coreboot-v2 repository).
I just migrated the flashrom code into its own repository. This is an effort
to untangle our repositories which grew into a wild mess over the years.
The new location is svn://coreboot.org/flashrom/trunk
The flashrom code in the coreboot-v2 repository will stay for a while to help
migration, before it will be "svn rm"d at some point (that is, history stays,
but will not be part of a new checkout)
== WHAT CHANGED ==
The new repository is just the same as the old data, with some exceptions:
1. Revision numbers changed. As this is a repository with _only_ flashrom-
related commits, the several thousands of coreboot commits don't appear there,
and so it's not at revision 4215, but at revision 443.
The original revision numbers are added to the commit messages to keep context
around if necessary.
2. The directory layout is one of the standard subversion layouts:
/trunk contains the main development branch
/branches will contain various branches as subdirectories, as the need arises
(eg. a 1.0rc branch)
/tags will contain copies of certain revisions (eg. of the 1.0 release)
3. The various locations and names of flashrom ("flash_and_burn" etc) are
flattened.
== WHY CHANGE? ==
Flashrom really is a separate project from coreboot. When it started, all our
projects were stuffed in a single repository. Now, we have a couple of large
repositories spanning multiple projects each, and several repositories for
single projects.
Not every coreboot developer contributes to Flashrom, and vice-versa. They
probably shouldn't use the same trac instance (they do now), and having [v2]
in the subject of flashrom commit mails is at least inconsistent.
So moving flashrom to its own repository gives us more flexibility and
consistency.
== ISSUES ==
Unfortunately, the change in revision numbers prevents an orderly migration of
checkouts. All I can recommend is the following procedure:
1. make an svn diff in your checkout (to get your changes)
2. move aside the checkout
3. checkout from the new URL
4. apply your diff
The following (bourne) shell function might help you with that task
PATCH=patch # or whatever your gnu patch is called
updateflashrom() {
# $1 directory of a checkout
cd $1
svn diff > localchanges.diff
cd ..
mv $1 $1.orig
svn co svn://coreboot.org/flashrom/trunk $1
cd $1
$PATCH < ../$1.orig/localchanges.diff
cd ..
}
== COREBOOT-V2 REPOSITORY ==
coreboot-v2 includes flashrom using the svn:external-feature. Unfortunately,
svn isn't clever enough to handle changing URLs (that _is_ a hard problem to
solve), so svn update breaks because it tries to update a checkout of the old
repository with data from the new repository.
What to do:
1. If you have changes in util/flashrom: BACKUP!
(cd util/flashrom; svn diff > somewhere.safe)
2. Delete util/flashrom and svn update, it will be re-created with the right
configuration.
3. If you had local changes, apply your patch.
Regards,
Patrick Georgi
More information about the coreboot
mailing list