[Debian-eeepc-devel] rt2860 Git reporitory
Damyan Ivanov
dmn at debian.org
Thu Oct 9 11:15:02 UTC 2008
Hi Glenn,
Before going on further, please don't take any of the complains below
as a personal attack against you. They are not. Even if I point
problems in the work you have done, I very much appreciate the time
and effort you put in. Moreover, I offer to fix the situation in a way
that should only improve things.
Secnd foreword: please read the whole mail. It starts with the
complains and ends with the proposal.
I am very much tempted to redo the rt2860.git repository from start.
Right now, each new upstream release is stored once as .tar.gz and
under a directory whose name includes the version. Aside for being
grossly inefficient (unless Git does some magic), this very much voids
using a source management too for tracking upstream changes. Right
now, commit fea49085c3b26416a96c121f848dd032603f5cb7 (New upstream
version) contains an import of many new files (under
rt2860-source-1.8.0.0) and no single changed file.
If one wants to see the diff, s/he should diff manually. Even manual
diff won't quite do it as the rt2860-1.7.0.0 tree also has changes to
the upstream code.
Which brings me to the second reason for redoing the repository:
upstream changes are applied directly. I am used to quilt and find it
excellent for tracking upstream changes. How do you check the changes
to upstream code now? Browsing the whole history is not an option. Ah,
and the package already uses quilt anyway.
Another approach for tracking changes to upstream code could be a farm
of branches, one for each self-contained feature. I am yet to master
this so I don't feel like going this path unless others love it.
A good guide for this approach is
http://www.eyrie.org/~eagle/notes/debian/git.html
As of keeping track of released upstream tarballs, there is that nifty
tool called 'pristine-tar' which does an exellent job keeping them in
a separate branch of the Git repository.
Last point, please commit when a feature is complete. Mixing two
features in single commit is bad later when one wants to see why
something was changed. See b187e72da2abf5066d91c80df5afcb8d95fa7c0d
(initial cleanup of makefiles, on makefile branch). This commit
changes two .c files, renames one Makefile, deletes another, and
moddifies two. Go figure how all these changes are related. I wouldn't
call them "a cleanup" in any case.
After the rework I am proposing, the repository would have the
following branches:
* master - package is built from here
* upstream - upstream releases (expanded tarballs) are tracked here
* pristine-tar - a branch whhere pristine-tar keeps the service
information in order to be able to create upstream .orig.tar.gzs
* makefile - same as now
I intent to start an empty repository named rt2860-clean.git and
cherry-pich the commits from the current one one by one fixing each to
follow the above layout. When done (all commits from rt2860.git
migrated), I shall rename rt2860.git ti rt2860-old.git and
rt2860-clean.git to rt2860-source.git. After this, you have to
re-clone the repository. Your old clone can be kept so you can verify
that I did not break things.
This would take some hours, so please tell me if you see something
wrong in my plan.
--
dam JabberID: dam at jabber.minus273.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/debian-eeepc-devel/attachments/20081009/86a806ae/attachment.pgp
More information about the Debian-eeepc-devel
mailing list