On Sat, Feb 2, 2013 at 7:34 PM, Christopher Wilson <
[email protected]> wrote:

> Why does the TinyOS organization on Github use two separate repositories
> for dev and release?


Good question.  I'll answer it since I'm the culprit who set up the dual
repository structure.   There wasn't really a lot of discussion.


> (tinyos-main and tinyos-release)  Is there a reason why there isn't just a
> single repository that uses branches and tags to record releases (instead
> of splitting them into a separate repo)?
>

I've been running and watching how repositories on github work via the
gh:tinyprod/prod and gh:tp-freeforall/prod repositories.   These have been
tracking and will continue to track the tinyos development mainline.
tp-freeforall is essentially a development repository and one of the things
I noticed is it is very confusing for casual or new users of a repository
when it contains all of the information that multiple branches and
develoment threads are included.   Certainly some of these feed into the
release mainline but most do not and feed into a future release.

So one of the reasons for a release repository is to keep the branching
structure releated to only the release explicitly.  This minimizes what
folks have to sort through when looking at the data stored in the
repository.

Another associated reason is by limiting what is present in the release
repository it reduces the amount of data that must be downloaded when the
repository is remoted.

Github has a mechanism for specifing the default branch for a repository.
The default branch on tinyos/tinyos-main (the development repository) is
master while the default branch on tinyos/tinyos-release is tinyos-2_1_2
(the current release branch).   So when a new user clones tinyos-release
they will always get the current release.   We are planning on doing
interium releases (more often then once every two years).

If we kept everything together, we'd have to tell people what to explicitly
get and they would have to understand more about git.

Further the SHAs on tinyos-release track with the same SHAs in
tinyos-main.   Effectively it is the same as if we'd run a release branch
in tinyos-main but with the advantages listed above.   It just has to be
managed and I'm paying attention to that.


Is there a discussion available somewhere in the mailer archives that
> discusses the thinking behind the way the way the TinyOS github org was
> structured (2 repos instead of 1)?
>
> Thanks,
> Chris




-- 
Eric B. Decker
Senior (over 50 :-) Researcher
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to