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

Re: merge should copy-with-history

From: Nuutti Kotivuori <naked_at_iki.fi>
Date: 2002-08-09 11:54:29 CEST

William Uther wrote:
> On Thursday, August 8, 2002, at 04:44 PM, Branko Čibej wrote:
>> No, this is _exactly_ what should be happening.
>
> I'm still not convinced.

Well - I made an example of exactly what happens now - and why _I_
think it's wrong. This is just to make it clear to everyone what is so
wrong about this the behaviour brane is talking about, in my opinion.

But either way, you are the guys who write CVS books and everything,
not me - I'm quite sure you know better what's best for me than me :)

But, onto the explanation.

***

I made a new repository - added the default "trunk", "branches" and
"tags" directories. Then I made some files and changes in trunk. After
that, I made a branch, developed on it for a while, and then merged
back in. I created one new file in the branch. Here are the log
messages for the entire repository:

------------------------------------------------------------------------
rev 10: anonymous | 2002-08-09 12:32:37 +0300 (Fri, 09 Aug 2002) | 5 lines
Changed paths:
   M /trunk/file1
   A /trunk/file4 (from /branches/issue-1-dev/file4:9)

Merged in changes made on the branch.

* file1: Added fixes for issue 1.
* file4: New file.

------------------------------------------------------------------------
rev 9: anonymous | 2002-08-09 12:30:48 +0300 (Fri, 09 Aug 2002) | 2 lines
Changed paths:
   M /branches/issue-1-dev/file4

fix

------------------------------------------------------------------------
rev 8: anonymous | 2002-08-09 12:30:17 +0300 (Fri, 09 Aug 2002) | 2 lines
Changed paths:
   A /branches/issue-1-dev/file4

splitt

------------------------------------------------------------------------
rev 7: anonymous | 2002-08-09 12:29:33 +0300 (Fri, 09 Aug 2002) | 2 lines
Changed paths:
   M /branches/issue-1-dev/file1

fix

------------------------------------------------------------------------
rev 6: anonymous | 2002-08-09 12:29:18 +0300 (Fri, 09 Aug 2002) | 3 lines
Changed paths:
   M /branches/issue-1-dev/file1

here the log messages do not matter, the developer is committing after
each edit, without caring.

------------------------------------------------------------------------
rev 5: anonymous | 2002-08-09 12:28:18 +0300 (Fri, 09 Aug 2002) | 2 lines
Changed paths:
   A /branches/issue-1-dev (from /trunk:1)
   A /branches/issue-1-dev/file1 (from /trunk/file1:2)
   A /branches/issue-1-dev/file3 (from /trunk/file3:4)

Created a branch.

------------------------------------------------------------------------
rev 4: anonymous | 2002-08-09 12:26:50 +0300 (Fri, 09 Aug 2002) | 4 lines
Changed paths:
   D /trunk/file2
   A /trunk/file3 (from /trunk/file2:3)

Renamed a file for the example.

* file3: Renamed from file2.

------------------------------------------------------------------------
rev 3: anonymous | 2002-08-09 12:25:55 +0300 (Fri, 09 Aug 2002) | 4 lines
Changed paths:
   A /trunk/file2

Another file added for testing.

* file2: New file.

------------------------------------------------------------------------
rev 2: anonymous | 2002-08-09 12:25:01 +0300 (Fri, 09 Aug 2002) | 4 lines
Changed paths:
   A /trunk/file1

This is the first commit in trunk. Trunk always has proper log messages.

* file1: New file.

------------------------------------------------------------------------
rev 1: anonymous | 2002-08-09 12:24:15 +0300 (Fri, 09 Aug 2002) | 1 line
Changed paths:
   A /branches
   A /tags
   A /trunk

------------------------------------------------------------------------

As you can see, everything is fine. The log messages in trunk are
always good, the log messages in the branch are whatever.

OK, then I'll run log on the invidual files on the branch. First I'll
do file1:

------------------------------------------------------------------------
rev 10: anonymous | 2002-08-09 12:32:37 +0300 (Fri, 09 Aug 2002) | 5 lines
Changed paths:
   M /trunk/file1
   A /trunk/file4 (from /branches/issue-1-dev/file4:9)

Merged in changes made on the branch.

* file1: Added fixes for issue 1.
* file4: New file.

------------------------------------------------------------------------
rev 2: anonymous | 2002-08-09 12:25:01 +0300 (Fri, 09 Aug 2002) | 4 lines
Changed paths:
   A /trunk/file1

This is the first commit in trunk. Trunk always has proper log messages.

* file1: New file.

------------------------------------------------------------------------

Looking good. Things were done on the branch, log messages are looking
fine. Then, what about file3 (which was actually renamed from file2 in
trunk):

------------------------------------------------------------------------
rev 4: anonymous | 2002-08-09 12:26:50 +0300 (Fri, 09 Aug 2002) | 4 lines
Changed paths:
   D /trunk/file2
   A /trunk/file3 (from /trunk/file2:3)

Renamed a file for the example.

* file3: Renamed from file2.

------------------------------------------------------------------------
rev 3: anonymous | 2002-08-09 12:25:55 +0300 (Fri, 09 Aug 2002) | 4 lines
Changed paths:
   A /trunk/file2

Another file added for testing.

* file2: New file.

------------------------------------------------------------------------

Everything good. The rename was just to show I can't use 'svn log
--strict' in this case. But, the actual problem is file4 - let's see
the log messages:

------------------------------------------------------------------------
rev 10: anonymous | 2002-08-09 12:32:37 +0300 (Fri, 09 Aug 2002) | 5 lines
Changed paths:
   M /trunk/file1
   A /trunk/file4 (from /branches/issue-1-dev/file4:9)

Merged in changes made on the branch.

* file1: Added fixes for issue 1.
* file4: New file.

------------------------------------------------------------------------
rev 9: anonymous | 2002-08-09 12:30:48 +0300 (Fri, 09 Aug 2002) | 2 lines
Changed paths:
   M /branches/issue-1-dev/file4

fix

------------------------------------------------------------------------
rev 8: anonymous | 2002-08-09 12:30:17 +0300 (Fri, 09 Aug 2002) | 2 lines
Changed paths:
   A /branches/issue-1-dev/file4

splitt

------------------------------------------------------------------------

Now wait a minute here - who asked to get the stupid log messages and
edits in the branch showing here?

So - this quite clearly shows the problem I am after here. Modified
and added files should _never_ behave _differently_. It's a different
matter showing the branch log messages always or never, but it should
never be _different_ depending on the file.

Now, there's a few answers to this that I can put out from the top of
my head. For example, you can tell me that "Never rename if you are
doing branches, always use 'svn log --strict'." That's fine - I just
want it said out loud to me. Or, you can tell me that "In the future,
we can show the log messages from the branch at that point as well,
when we record merge sources." That's fine, too - I'll just say "Give
me an option for which added and modified files behave the same when
it's implemented, and I'll be happy." And ofcourse, ifyou tell me that
"This is _exactly_ what should be happening.", I'll trust you to know
better than me on this and shut up :)

It's the inconsistency I'm so unhappy about. Nothing else.

-- Naked

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 9 11:57:29 2002

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.