Sat 06 Sep 2003 01:33:39 PM UTC, comment #3:
Whirlwind tour:
- project manager creates an archive (register-archive, archive-setup or import --setup) and puts the source in it. this archive is considered the "defacto" archive - other people will be pulling changes from it (though they can pull changes from fellow developers too, that doesn't happen as often)
- if the PM does not have the archive in a public location, they can create a mirror with make-archive.
- developers register the PM's public archive (register-archive). they can pull bits they need to build directly (get). for bits they want to modify, they want to create their own branch instead
- to create their own branch, they do something like:
tla archive-setup name--branch--1.0
Assume that the PM called their branch
defacto--branch--1.0
(it can be named the same if you want, though)
The developer then tags their branch as a continuation of the PM's - in other words, they say "copy the PM's branch into this one":
tla tag pm@s--work-archive/defacto--branch--1.0 name--branch--1.0
At this point, if you were to get name--branch--1.0, you'd have the same result as getting defacto-- instead. But note that it tags the current latest version of defacto - so if future changes are made to defacto, they are not reflected in name--.
- developer gets a working directory
tla get name--branch--1.0
- makes some local changes, commits:
tla commit -L "my local changes"
- wants to get the latest changes the pm has made
tla star-merge pm@s--archive-location/defacto--branch--1.0 .
tla commit -L "merge with PM"
(the changelog includes a list of the merges from the PM automatically)
- developer wants to push their changes to the PM. the developer makes sure their archive is in a public location (creating a public mirror if necessary). developer sends a changelog or a message saying "grab patches 2 and 3"
- PM ensures the developer's public archive is registered (register-archive)
- PM grabs the changes:
tla replay --exact developers@archive--location/name--branch--1.0--patch-2
tla replay --exact developers@archive--location/name--branch--1.0--patch-3
(this command line syntax is relevant to only the very latest tla - the arg format was changed recently).
- PM reviews - they can use a separate tree for the review process, or "tla undo" to get rid of the replayed changes if they want.
- PM commits
tla commit -L "merged with developer"
again, the changelog includes details of all the changes the developer made.
If you feel like tidying that up into a document, I'm sure it'd be appreciated :-)
|