Opened 16 years ago
Last modified 16 years ago
#4 new enhancement
store the output of "changes --context" and make it available as "--exact-version"
Reported by: | zooko | Owned by: | somebody |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | component1 | Version: | |
Keywords: | Cc: | ||
Launchpad Bug: |
Description
Suppose someone has a darcs repository of your project which is not merely a prefix of your repository (by "prefix" I mean here that one repository has all of the patches of the other, in order, from the first patch up until some patch, and then stops). Then the darcsver feature of showing a count of patches isn't sufficient to let you know how their version relates to your version -- indeed it could even be misleading.
We would like for the version number generated (by darcsver) from the other person's repository to convey as much information as possible about how that repository relates to yours.
In general (regardless of whether you are using darcs, git, hg, bzr, or something else), the version string can't communicate to you exactly what is in their repository unless the version string contains the full set of patches in their repository or, equivalently, if it includes an identifier of what is in their repository and also an address that you can use to get read-access to their repository in order to download the full set of patches.
However, without going that far, the version string could contain the full metadata about all the patches (excluding patches which are covered by a tag). This would not only let you know (by visual inspection of the string) whether it was equivalent to a version that you produced, but it would also let you know exactly what was different -- if certain of your patches were left out, or if patches of their own device were added (patches which you might not actually be able to acquire, but the metadata of which you can read). This one is pretty easy to implement -- darcs uses this technique itself (if you run darcs --exact-version it prints out the full metadata about which patches went into that build of darcs.
Change History (2)
comment:1 Changed 16 years ago by zooko
comment:2 Changed 16 years ago by zooko
See also #5 (store a read-address to the repository and make the latter available as "--source-repo").
This could potentially be useful in addition to #3 (store the hash of "darcs changes --context" and make it available as "--hashed-version"). It is a bit easier to implement that #3. See also http://bugs.darcs.net/issue992 (short, secure, fast version identifiers), which would be a superior solution to #3, but which would probably be complementary to this ticket -- I think I would still want this ticket even if darcs issue992 were fixed.