[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: mixed revision working copy -- rationale?

From: Patrick Burleson <pburleson_at_gmail.com>
Date: 2005-05-19 13:57:24 CEST

On 5/19/05, Bob Proulx <bob@proulx.com> wrote:
> Ben Collins-Sussman wrote:
> > Bob Proulx wrote:
> > > At the time of
> > >the commit your working copy must be up to date with the repository
> >
> > Incorrect.
> >
> > Suppose the repository is at r10.
> >
> > Suppose you have a working copy with two sibling files, 'foo' and 'bar'.
> >
> > Now you commit you change to 'foo', and the commit succeeds,
> > informing you that you've just created r20.
> >
> > r20? How is that? Well, apparently other people have been making
> > changes too.
>
> I have always been working with updated working copies and I always
> commit from a freshly updated working copy. Therefore I have missed
> seeing this behavior. Additionally I somehow got the idea that if my
> working copy was out of date at the time of commit that the commit
> would have been pushed back to me. This is why I had assumed that at
> the time of commit that my working copy would generally be up to date.
>
> But now I guess I am to understand that only the file I am committing
> changes to needs to be the same as the HEAD version? (I know I should
> try some test cases but time is passing.)
>
> > If, immediately after the commit, the svn client were to simply mark
> > your entire working copy as being at r20, it would be a complete
> > lie.
>
> I was not saying that it should simply *mark* them up to date. I was
> saying that a commit should explicitly be followed by an update. I
> was saying (erroneously) that the update operation should be fast at
> that time because there would be no changes between the WC and the
> repository at that time. I understand that you are correcting this
> and saying there may be large changes and therefore it follows that it
> might be a slow operation instead.
>
> I need to try some test cases. Because now I fear from what I have
> just learned that I may think I am making a perfectly consistent
> change against my BASE version and wanting to commit it. But there is
> a time when someone else is thinking the same thing and making a
> related change but perhaps in a different file. And even if I update
> immediately before my commit this other person may beat me into the
> repository.
>
> If we make those changes in non-conflicting (from a version control
> point of view) ways both succeed even if they are incompatible
> changes. Therefore after a commit it is now doubly important that I
> update and test again to make sure that this has not happened or it
> may be my change, which by happenstance occurred second, to be the
> breaking change. And the same in reverse for the other committee.
> True?
>

Something you can setup, and our team appreciates, is a post-commit
hook script to send an email after a commit detailing the changed
files and the log message. Very nice for knowing when changes have
occured.

We use the Perl module SVN::Notify
(http://search.cpan.org/dist/SVN-Notify/) to simplify this. It works
really well.

Patrick

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu May 19 13:59:31 2005

This is an archived mail posted to the Subversion Users mailing list.