[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Arx-users] Further thoughts on ArX and simplicity
From: |
Kevin Smith |
Subject: |
Re: [Arx-users] Further thoughts on ArX and simplicity |
Date: |
Wed, 27 Jul 2005 22:32:01 -0400 |
User-agent: |
Mozilla Thunderbird 1.0.2 (X11/20050404) |
Walter Landry wrote:
Kevin Smith <address@hidden> wrote:
Walter Landry wrote:
Kevin Smith <address@hidden> wrote:
Revision hashes serve two purposes:
Ok. As long as switching to hashes doesn't make ArX more complicated
than it currently is, AND as long as switching to hashes allows ArX to
become simpler than it is, then I think I agree that revision hashes are
a good thing. And also that using random number UID's is a very poor
substitute that should be avoided.
Ok, but here's my current thinking, in abstract form:
An archive is be a collection of branches. Each branch is an ordered
collection of patches.
Right now, everything is ordered. But with revision hashes, they
would become partially ordered. That is inevitable if you are going
to allow two people to work independently on the same line of
development.
Can you define "partially ordered" for me?
If an archive moves, the URL's that referred to it must be updated.
That is exactly what I am thinking.
Yea!
Where does cherry picking fit into (or conflict with) this vision? Ah.
We need to know that patch (revision) 57 in branch a is actually the
same patch as revision 33 in branch b. If we use the hash of a patch as
its identifier, we can know that we have or have not already pulled that
patch. We want a map of hash->patch for fast checking.
Are you talking about patches or revisions? In any case, patch or
revision 57 in branch a is never the same as patch or revision 33 in
branch b. They have different names, which is part of the hash.
I must have been thinking of revisions, since (I guess) patches wouldn't
have sequence numbers.
Should we hash just the patch data, or also its metadata? I would think
it would be just the data, because the metadata might have an additional
"signed off by", or a fixed typo in the commit comment. That would argue
for storing each patch in a file named by the SHA-1 of the patch.
But then the meta-data is no longer trusted. The right way to fix
things like typos is to delete the old revision and commit a new
revision with corrected metadata.
Hm. So given a patch that's already in a revision in my branch, and a
patch that someone sends me, how would ArX know whether or not that
patch was already in my branch? I thought that was how cherry-picking
got into this discussion, but I guess not.
I'm thinking that the actual change to the source code is what really
matters. Whether the metadata was signed off by Fred or Wilma, or
whether it was committed yesterday or last year is not particularly
interesting to me. As a newbie/outsider, I would think that it would be
valuable to ArX to know the hash of the patch itself, exclusive of any
metadata. If you don't see value in that, I won't push it.
You mentioned that each time a fork is created, that revision needs to
record the branch it came from. Maybe this concept could be split into
two parts. First, a revision can ONLY be forked from within the same
archive. That way, a revision only needs to store a local/relative
branch/subbranch,revision. Meanwhile, a *branch* can be forked from some
other archive. So the URL of the source archive becomes a piece of
branch data, which gets it out of the hash picture and makes it much
easier to update if the source archive moves.
Yep, this is what I was thinking.
Yea again!
I think I'm pretty happy with the direction this is headed. Unless
you're thinking of changes beyond what I covered in that email, it seems
like ArX will get a lot simpler. Reading your earlier messages in this
thread, I can now see that you were often saying the same thing I said
later, but I didn't understand what you were saying at the time.
Dang, I wish I had a couple weeks with nothing to do so I could dive in
and help code this! That might happen later this year, but for the near
term I probably won't have more than a few hours here and there, which
probably isn't enough to learn the code base enough to help with changes
this deep and pervasive.
Kevin
- [Arx-users] Further thoughts on ArX and simplicity, Kevin Smith, 2005/07/13
- Re: [Arx-users] Further thoughts on ArX and simplicity, Walter Landry, 2005/07/15
- Re: [Arx-users] Further thoughts on ArX and simplicity, Kevin Smith, 2005/07/15
- Re: [Arx-users] Further thoughts on ArX and simplicity, Walter Landry, 2005/07/18
- Re: [Arx-users] Further thoughts on ArX and simplicity, Kevin Smith, 2005/07/18
- Re: [Arx-users] Further thoughts on ArX and simplicity, Walter Landry, 2005/07/19
- Re: [Arx-users] Further thoughts on ArX and simplicity, Kevin Smith, 2005/07/27
- Re: [Arx-users] Further thoughts on ArX and simplicity, Walter Landry, 2005/07/27
- Re: [Arx-users] Further thoughts on ArX and simplicity,
Kevin Smith <=
- Re: [Arx-users] Further thoughts on ArX and simplicity, Walter Landry, 2005/07/29
- Re: [Arx-users] Further thoughts on ArX and simplicity, Kevin Smith, 2005/07/30