Opened 15 years ago
Closed 13 years ago
#91 closed task (wontfix)
reorganize egg repository to cut down working copy size
Reported by: | felix winkelmann | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | extensions | Version: | 4.2.x |
Keywords: | repository | Cc: | Mario Domenech Goulart |
Estimated difficulty: |
Description (last modified by )
Checking out the complete egg repository requires a considerable amount of disk space. During a discussion with ashinn, sjamaan, iraikov, zbigniew and mario, we came to the conclusion that it would be a win if one could merely check out the development sources, not the tagged copies. One possible new layout would be:
stable/release/4/spiffy/spiffy.scm stable/release/4/spuffy/spiffy.setup ... dev/release/4/spiffy/1.0 dev/release/4/spiffy/1.1 ...
Things to keep in mind:
- the henrietta instances have to be updated to export from the correct URLs
- the restructuring will invalidate all working copies and likely make it very difficult to check in uncommitted changes, so the change should be announced early enough and be done during of period in which no other repo access can take place
- IIRC, there exists a cronjob somewhere that automaticaly converts eggdoc files - this has to be modified
- the code in
setup-download
that installs from an svn-checkout or local tree must be changed to reflect the new layout - we actually will need two instances of henrietta on each egg server: one for the old layout and one for the new
- all these changes imply that we release a adapted version of the core system once the repo has been reorganized
Some serious work waiting for us ...
Change History (9)
comment:1 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 15 years ago by
Cc: | Mario Domenech Goulart added |
---|
comment:3 follow-up: 4 Changed 15 years ago by
comment:4 Changed 15 years ago by
Description: | modified (diff) |
---|
Replying to tonysidaway:
Felix, in your opening entry, you refer to the following pattern for the stable branch:
stable/release/4/spiffy.scm
stable/release/4/spiffy.setup
Do you mean the following?
stable/release/4/spiffy/spiffy.scm
stable/release/4/spiffy/spiffy.setup
Yes, that's right. Sorry.
If you do the former I think it implies that all source files from all eggs would share the same directory and hence the same file namespace, which would definitely not work without renaming a lot of source files (doc.scm, tests/run.scm, etc). It would also make it difficult to check out the stable branch of a single egg.
Quite right - I incorreclty omitted the eggname.
comment:5 Changed 15 years ago by
I think it would be best to give two day's notice, giving people one day to commit pending stuff and locking it the second day. The third day we could actually move it and unlock it.
To lock it we could add a pre-commit-hook that always returns an exit code of 1 and echoes a friendly message that stuff is about to be moved.
comment:6 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:7 Changed 15 years ago by
Milestone: | 4.3.0 |
---|
comment:9 Changed 13 years ago by
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Since it is highly likely that the new SYSTEM is going to be used, this is not so much an issue anymore. I'll close this therefore.
Although this would probably impact me as any time I'm developing Chicken software I'm likely to be working on eggs continually, I welcome the proposal and don't mind the minor inconvenience that might be caused by having to adapt a set of uncommitted changes to the new directory structure. After the transition one would just have to repeat the checkout for the new structure and then merge in the changed files, copy the release to the new dev branch, and commit in both branches. Have I missed anything out?
Being able to check out development copies of many eggs easily without a high cost in diskspace would be a very worthwhile change, and one especially evident to me as I'm working on a 10GB Ubuntu installation on a laptop most of the time.
Felix, in your opening entry, you refer to the following pattern for the stable branch:
stable/release/4/spiffy.scm
stable/release/4/spiffy.setup
Do you mean the following?
stable/release/4/spiffy/spiffy.scm
stable/release/4/spiffy/spiffy.setup
If you do the former I think it implies that all source files from all eggs would share the same directory and hence the same file namespace, which would definitely not work without renaming a lot of source files (doc.scm, tests/run.scm, etc). It would also make it difficult to check out the stable branch of a single egg.