This has been a great discussion!
> From: Ben Collins-Sussman [mailto:sussman@collab.net]
> Subversion has changesets, but they're sort of implicit. Each
> subversion commit *does* have a unique name -- the revision number.
> We can examine subversion's "changesets" by looking at the diff
> between any two revisions. We can also apply a "changeset N" to a
> working copy in any order by running 'svn merge -r N-1:N'.
I maybe wrong but, I don't think this will do exactly what I need. Let me
give a simple example. Say we have two developers, Jack and Jill. Both start
with the same file that contains the following and make changes in separate
work spaces.
main()
{
Func1();
Func2();
Func3();
Func4();
Func5();
}
On Monday, Tuesday, and Wednesday Jill makes three "changesets", one per
day.
main()
{
Func1();
MondaysFunc(); /* Monday's changeset */
Func2();
TuesdaysFunc(); /* Tuesday's changeset */
Func3();
WednesdaysFunc(); /* Wednesday's changeset */
Func4();
Func5();
}
Jack doesn't get as much done and he only makes one "changeset".
main()
{
Func1();
Func2();
Func3();
Func4();
JacksFunc(); /* Jack's changeset */
Func5();
}
On Thursday Jack decides he needs Jill's Wednesday changeset and applies it
to his file. My "order independent changeset" would give Jack these file
contents.
main()
{
Func1();
Func2();
Func3();
WednesdaysFunc(); /* Wednesday's changeset */
Func4();
JacksFunc(); /* Jack's changeset */
Func5();
}
Can I get that from subversion?
Beyond this basic ability to apply changes independent of other changes, it
is true that a good change set solution requires logical-level abstraction
as described by Brad.
> From: Brad Appleton [mailto:brad@bradapp.net]
> My understanding of "changeset" functionality is that the "unit"
> of change that is "committed" to the repository is not at the
> individual file-level, but is instead at the logical-level and
> would include all the edits to all the files that I modified
> for a single coherent and consistent purpose (such as a 'fix'
> or 'enhancement' or some other 'change task').
It also needs the ability to marshal changesets between repositories.
> From: Greg Hudson [mailto:ghudson@MIT.EDU]
> What it does not have is a way of marshalling revisions into
> a blob and
> passing them around between repositories. This is because Subversion
> lacks distributed repository functionality, not because it lacks
> changesets.
Dave
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Oct 9 23:49:32 2002