Kevin Kofler wrote:
But the URL is not immutable. You wouldn't believe the number of people that
have come to the git-list to complain about git-svn not properly importing
svn repositories simply because the layout has changed since the repository
was first started, or because it was moved one directory up, or some branch
was deleted after having been used to tag something from. SVN is fragile and
has no way of canonically naming a commit. URL+Rev doesn't cut it, since
URL can change (and so can rev, but only in insane cases).
But the old revision will still have the code at the given URL, it will be
moved or deleted only in the new revision. The only way the URL of a given
revision can change is if the entire repository moves to somewhere else. Your
mistake there is that you're treating the URL as the primary key, when actually
the order to lookup something is:
1. repository
2. revision (only valid in the context of the repository)
3. directory within the repository (only valid for a given revision)
because SVN versions entire repositories with revision IDs, not directories or
branches.
(One thing which confuses this issue is that normally 1 and 3 are given in a
single URL and 2 separately. SVN will do the right thing and separate the URL
into repository and directory.)
This is all correct, but... in subversion, by convention tags are used
to create human-generated names for specific revisions and for that to
work as expected (i.e. not needing the revision # along with the tag)
you have to not do subsequent commits to that tag. Also it is
permitted, but confusing, to delete a tag and recreate another with the
same name but different contents. In this circumstance older tag copies
are not actually removed from the repository but can only be referenced
by specifying the associated repository revision number using peg
reference syntax - and since you typically don't need to know the
revision number when working with tags it may be difficult to find after
the fact.
--
Les Mikesell
lesmikesell@xxxxxxxxx
--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list