On Sun, Dec 14, 2014 at 6:00 AM, meta keule <
marcre...@googlemail.com> wrote:
> - inconsistency between unversioned and versioned package paths:
> unversioned package paths have same path as hosting site, versioned not
> which leads to the fact that in a team everbody developing on a package must
> know that once a canonical path is introduced they have to change their
> gopath layout
Umm... the goals of the project have changed if you are switching to a
stable API and
gopkg.in -- I think telling the team is an acceptable
cost, at the very least... your developers will probably want to know
such a thing.
> - there is no way to clone from
gopkg.in/robertmeta/library.v1 and commit to
> it. you have to clone from
> github as repo committer and that into a different path than the github repo
Yes... there is, and it is a standard part of working on Go projects
on github. You use "go get" to grab the project, as per normal. Then
you add your fork of it to the remotes and you work in the original
projects directory ($GOPATH/src/
gopkg.in/robertmeta/library.v1). So
you work, work, zug, zug, you push to your fork and put in a pull
request to the canonical repo & branch. The only additional step here
is having to track down the canonical repo, which is trivial.
> - for N versions you end up with N working/developing copies
This is a feature... it lets your move forward with breaking changes,
this is the entire point.
> - to merge a patch to N versions all working copies must have the latest
> version, so just must go to N
> working copies and pull/merge into them. Now with several developers, each
> of them must do this
What? If the patch is common, cherry pick between the branches...
this is already a part of (ANY) doing branched development. Why would
each developer have to do it... one developer does it and the rest
just pull his changes... I am so confused.
> - how does any of the developers know that a new version has been tagged?
> must go to the hosting site to find out
> with only one repository there is just a regular pull and look at the tags
Again, you act like the developers are in sealed rooms in some sort of
riddle. New versions of software have to be discovered, it isn't
magic... announcements, mailing lists, etc... how did you discover go
1.4 was out?
> - if the canonical path changes for whatever reason (something better than
>
gopkg.in appears) all developers have to reconfigure their working copies
> again.
Something better than
gopkg.in would be changing the vanity URL, not
the canonical one... and yes, developers would have to point to the
new location -- this isn't some crippling task that is beyond the
abilities of mere mortals -- this is exceptionally simple book
keeping.