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

Re: some issues with my merge

From: Andy Levy <andy.levy_at_gmail.com>
Date: 2007-01-17 19:09:03 CET

On 1/17/07, Craig White <craig@tobyhouse.com> wrote:
> On Wed, 2007-01-17 at 10:38 -0700, Craig White wrote:
> > On Wed, 2007-01-17 at 18:33 +0100, Méresse Christophe wrote:
> > >
> > > > -----Original Message-----
> > > > From: Craig White [mailto:craig@tobyhouse.com]
> > > > Sent: mercredi, 17. janvier 2007 18:09
> > > > To: Méresse Christophe
> > > > Cc: users@subversion.tigris.org
> > > > Subject: RE: some issues with my merge
> > > >
> > > >
> > > > On Wed, 2007-01-17 at 17:56 +0100, Méresse Christophe wrote:
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Craig White [mailto:craig@tobyhouse.com]
> > > > > > Sent: mercredi, 17. janvier 2007 17:28
> > > > > > To: users@subversion.tigris.org
> > > > > > Subject: some issues with my merge
> > > > > >
> > > > > >
> > > > > > I merged a lot of code from a branch I started months ago
> > > > into my main
> > > > > > trunk. It all looked good on the dry run and I performed
> > > > for real. I
> > > > > > then checked out from my main trunk and there are clearly
> > > > > > some files and
> > > > > > folders missing in my main trunk that are in the branch and
> > > > > > clearly were
> > > > > > within the range of revisions that I merged.
> > > > >
> > > > > Yes, are you sure that they have been added in this range
> > > > of revision ?
> > > > > Else they will be skipped.
> > > > >
> > > > > > So if I update my local copy of a trunk with the missing
> > > > files/folders
> > > > > > from my last branch, each folder has a '.svn' directory which
> > > > > > has to be
> > > > > > purged before/after copying because if I don't purge it,
> > > > it says that
> > > > > > the files are already under version control.
> > > > >
> > > > > That's not a good idea to copy them like that. You will
> > > > break the history of these files (they will be new files with
> > > > an other history) and you will loose the advantage of svn
> > > > cheap copy for these files.
> > > > >
> > > > > > So I'm wondering if there is a simpler way to get this
> > > > missing files
> > > > > > into my trunk.
> > > > >
> > > > > Try to understand the reason of this merge problem. It MUST
> > > > work if you merge the good range of revision.
> > > > ----
> > > > I am quite sure that the missing files were within the range of my
> > > > merge...this was my merge:
> > > >
> > > > svn merge --dry-run -r 52:138 svn
> > > > +craigssh://app-serve@srv2.tobyhouse.com/home/app-serve/svn/th
> > > > -db/branches/phase3
> > > >
> > > > merged from 52 through 138
> > > > now in my newly checked out trunk, just one example directory...(blank
> > > > lines removed)
> > > >
> > > > $ ls -l lib
> > > > total 4
> > > > drwxr-xr-x 3 craig users 4096 Jan 17 09:01 tasks
> > > >
> > > > sh-3.1$ cat lib/.svn/entries
> > > > 8
> > > > dir
> > > > 139
> > > > svn
> > > > +craigssh://app-serve@srv2.tobyhouse.com/home/app-serve/svn/th
> > > > -db/trunk/lib
> > > > svn+craigssh://app-serve@srv2.tobyhouse.com/home/app-serve/svn/th-db
> > > > 2006-04-01T20:15:57.827571Z
> > > > 29
> > > > craig
> > > > svn:special svn:externals svn:needs-lock
> > > > 5b32b4dd-9b0e-0410-8e92-bc10be88a350
> > > > tasks
> > > > dir
> > > >
> > > > and from my branch that was the source of all activity from
> > > > revision 52
> > > > through 138 and merged to the trunk per above...
> > > >
> > > > $ ls -l lib
> > > > total 24
> > > > -rw-r--r-- 1 craig users 392 Jan 4 15:17 clwholename.rb
> > > > -rw-r--r-- 1 craig users 397 Jan 4 15:17 cmwholename.rb
> > > > -rw-r--r-- 1 craig users 393 Jan 4 15:17 pewholename.rb
> > > > -rw-r--r-- 1 craig users 173 Jan 4 15:17 session_cleaner.rb
> > > > -rw-r--r-- 1 craig users 393 Jan 4 15:17 suwholename.rb
> > > > drwxr-xr-x 3 craig users 4096 Jan 4 15:17 tasks
> > > >
> > > > #### Note all the 'rb' files that are missing in 'trunk'
> > > >
> > > > sh-3.1$ cat lib/.svn/entries
> > > > 8
> > > > dir
> > > > 138
> > > > svn
> > > > +craigssh://app-serve@srv2.tobyhouse.com/home/app-serve/svn/th
> > > > -db/branches/phase3/lib
> > > > svn+craigssh://app-serve@srv2.tobyhouse.com/home/app-serve/svn/th-db
> > > > 2006-10-25T01:29:45.955922Z
> > > > 110
> > > > craig
> > > > svn:special svn:externals svn:needs-lock
> > > > 5b32b4dd-9b0e-0410-8e92-bc10be88a350
> > > > clwholename.rb
> > > > file
> > > > 2007-01-04T22:17:46.000000Z
> > > > 265ec5e0e9349a4a3aca1fb48cf121e3
> > > > 2006-09-09T12:50:17.098339Z
> > > > 67
> > > > craig
> > > > cmwholename.rb
> > > > file
> > > > 2007-01-04T22:17:46.000000Z
> > > > d478d457ade5e3a68715959a5aa651fe
> > > > 2006-09-09T12:50:17.098339Z
> > > > 67
> > > > craig
> > > > tasks
> > > > dir
> > > > pewholename.rb
> > > > file
> > > > 2007-01-04T22:17:46.000000Z
> > > > 7cbf235de0e51814038b84ca73a41684
> > > > 2006-09-09T12:50:17.098339Z
> > > > 67
> > > > craig
> > > > suwholename.rb
> > > > file
> > > > 2007-01-04T22:17:46.000000Z
> > > > 291075efa1fe6cb88d570915b72589de
> > > > 2006-09-09T12:50:17.098339Z
> > > > 67
> > > > craig
> > > > session_cleaner.rb
> > > > file
> > > > 2007-01-04T22:17:46.000000Z
> > > > 0292f4d83293a96b274f5584aa753cd5
> > > > 2006-10-25T01:29:45.955922Z
> > > > 110
> > > > craig
> > > >
> > > > ### so you can see that the missing files (in this case seem
> > > > to be from
> > > > revision 67 but there are other files missing from other
> > > > revisions also
> > > > within the 52:138 range that I merged (without error) into the trunk.
> > > > Many of the files within that range did successfully merge.
> > > >
> > > > I am confused but I need to fix this to move on.
> > >
> > > Do a:
> > > svn log -v svn+craigssh://app-serve@srv2.tobyhouse.com/home/app-serve/svn/th-db/branches/phase3/lib
> > >
> > > Find the revision where has been added (A) the file clwholename.rb for instance.
> > >
> > > Is it a revision between 52 and 138 ?
> > ----
> > yes, it is listed with everything else in revision 67...
> >
> > $ grep clwholename /tmp/svn-log.txt
> > A /branches/phase3/lib/clwholename.rb
> >
> ----
> I think I see a problem and am guessing that this is self-inflicted...
>
> the changes in trunk that resulted from the branch merge are all
> numbered at 139 which clearly shouldn't be since they were all done
> between revision 52 and 138

I think you're misunderstanding how revision numbering works.
Revisions numbers are global to the repository - each time you commit,
you increment the revision number.

So, if you took the changes in branch from 52-138, applied them to
trunk, and committed trunk, the repository is at revision 139, which
is what you're seeing.

What merging does *not* do is take each individual change that you
made in branch, and apply the change at each revision number to trunk
at that same revision number. Trunk will always show that nothing
happened between 52 and 138 if you didn't make any commits to trunk in
that range - it will only show that a large change was committed at
139, which is the merge you did.

> I am thinking that if possible, I need to revert the 'trunk' back to
> revision 49 and then merge 52:138 again.

Some define insanity as doing the same thing over and over again, and
expecting different results.

I think you probably used the correct command to merge, you just may
not have understood what the result is meant to be.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jan 17 19:09:30 2007

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