[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