You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Rick Yorgason <ri...@ldagames.com> on 2007/03/13 17:33:14 UTC
Merging feature branch into trunk transmits unchanged files
Hello Subversioners,
I'm posting this in users instead of dev in hopes that this is our fault
and not yours ;)
I'm one of two programmers at a small game company and we use Subversion
for all our code and art assets. Because of this, it means our trunk is
very big; a checked out copy is 7.61 GB (including .svn files), with a
lot of binary files.
We use branches to avoid breaking the other programmer's code while
still being able to backup our changes and occasionally work from home,
so this is a typical feature branch pattern.
Unfortunately, when we merge the synchronized feature branch into the
trunk, it seems to transmit files which haven't actually been changed.
For instance, branches/rob merged with trunk@5548 at revision 5596, and
when I merge, I get...
> C:\Projects\Hegemony.test>svn merge http://bender.ldastore.com/svn/Hegemony/trunk@5548 http://bender.ldastore.com/svn/Hegemony/branches/rob@5596
> U Release\Launcher.exe
> U Release\Hegemony.exe
> U Release\Hegemony Web Site.URL
> D Release\Resources\Entities\Brigades\Generic Land Caravan.xnt
> A Release\Resources\Entities\Brigades\Generic Land Caravan.xnt
> U Release\Resources\Entities\Brigades\formations\catapult formations.xnt
> U Release\Resources\Entities\Brigades\Macedonian Military Brigades.xnt
> U Release\Resources\Entities\Brigades\Generic General Brigade.xnt
> U Release\Resources\Entities\Brigades\Generic Catapult Brigade.xnt
> D Release\Resources\Entities\Brigades\Generic Sea Caravan.xnt
> A Release\Resources\Entities\Brigades\Generic Sea Caravan.xnt
> U Release\Resources\Entities\Units\Catapult Unit.xnt
> D Release\Resources\Entities\Meshes\Farm02.ent
> D Release\Resources\Entities\Meshes\Farm.ent
> U Release\Resources\Entities\Meshes\Peltast\PeltastLowerRes.xnt
> U Release\Resources\Entities\Meshes\Peltast\PeltastLowestRes.xnt
> A Release\Resources\Entities\Meshes\General\GeneralMini.xnt
> U Release\Resources\Entities\Meshes\WallRoughShorter.xnt
> D Release\Resources\Entities\Meshes\Banners\Banner01.xnt
> A Release\Resources\Entities\Meshes\Banners\Banner01.xnt
> U Release\Resources\Entities\Meshes\FarmFence.xnt
> U Release\Resources\Entities\Meshes\PotCratePile.xnt
> A Release\Resources\Entities\Meshes\Brazier.xnt
> D Release\Resources\Entities\Meshes\Particles\brazier fire particles.xnt
> A Release\Resources\Entities\Meshes\Particles\brazier fire particles.xnt
> A Release\Resources\Entities\Meshes\Particles\javelinparticles.xnt
> D Release\Resources\Entities\Meshes\Particles\cropfireparticles.xnt
> A Release\Resources\Entities\Meshes\Particles\cropfireparticles.xnt
> D Release\Resources\Entities\Meshes\Particles\harvestparticles.xnt
> A Release\Resources\Entities\Meshes\Particles\harvestparticles.xnt
> D Release\Resources\Entities\Meshes\Particles\brigadedustparticles.xnt
> A Release\Resources\Entities\Meshes\Particles\brigadedustparticles.xnt
> D Release\Resources\Entities\Meshes\Particles\smokeparticles.xnt
> A Release\Resources\Entities\Meshes\Particles\smokeparticles.xnt
> D Release\Resources\Entities\Meshes\Particles\bloodparticles.xnt
> A Release\Resources\Entities\Meshes\Particles\bloodparticles.xnt
> D Release\Resources\Entities\Meshes\Particles\dustparticles.xnt
> A Release\Resources\Entities\Meshes\Particles\dustparticles.xnt
> A Release\Resources\Entities\Meshes\WallTowerRoughSmall.xnt
> U Release\Resources\Entities\Meshes\WallTower03.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaWalk.ent
> D Release\Resources\Entities\Meshes\Siege\Ballista.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaRun.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaAttackRange1.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaShuffle.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaIdle.ent
> A Release\Resources\Entities\Meshes\Siege\BallistaHighRes.xnt
> A Release\Resources\Entities\Meshes\WallTowerRough.xnt
> U Release\Resources\Entities\Meshes\WallTowerSmall.ent
> D Release\Resources\Entities\Bones\Ballista\Temp.xnt
> U Release\Resources\Entities\Bones\Ballista\Idle.xnt
> U Release\Resources\Entities\Scenarios\campaign.xnt
> U Release\Resources\Images\Water\masks\watermask65537.dds
> U Release\Resources\Images\Water\masks\watermask65538.dds
> U Release\Resources\Images\Water\masks\watermask65539.dds
> U Release\Resources\Images\Water\masks\watermask131073.dds
> U Release\Resources\Images\Water\masks\watermask131074.dds
> U Release\Resources\Images\Water\masks\watermask131075.dds
> U Release\Resources\Images\Water\masks\watermask131076.dds
> U Release\Resources\Images\Water\masks\watermask131077.dds
> U Release\Resources\Images\Water\masks\watermask262146.dds
> U Release\Resources\Images\Water\masks\watermask262147.dds
> U Release\Resources\Images\Water\masks\watermask262148.dds
> U Release\Resources\Images\Water\masks\watermask196610.dds
> U Release\Resources\Images\Water\masks\watermask262149.dds
> U Release\Resources\Images\Water\masks\watermask196611.dds
> U Release\Resources\Images\Water\masks\watermask196612.dds
> U Release\Resources\Images\Water\masks\watermask196613.dds
> U Release\Resources\Images\Water\masks\watermask327684.dds
> U Release\Resources\Images\Water\masks\watermask196609.dds
> U Release\Resources\Images\Water\masks\watermask65540.dds
> U Release\Resources\Images\Water\masks\watermask65541.dds
> U Release\Resources\Images\textures\Pebbles005.bmp
> U Release\Resources\Images\GUI\MapGUI.tga
> U Release\Resources\Images\GUI\Portraits.tga
> D Release\Resources\Images\GUI\SelectBuildingFriendly.tga
> A Release\Resources\Images\GUI\SelectBuildingFriendly.tga
> U Release\Resources\Images\GUI\GUIIcons1.tga
> A Release\Resources\Images\Particles\woodsplinters2.dds
> A Release\Resources\Images\UV\FarmAndStockPiles.tga
> U Release\Resources\Images\UV\CityCluster01Bump.tga
> U Release\Resources\Images\UV\FortKeep_Ruins.tga
> U Release\Resources\Images\UV\Worker02Bump.tga
> U Release\Resources\Images\UV\CityCluster02Bump.tga
> U Release\Resources\Images\UV\shield_24.tga
> U Release\Resources\Images\UV\Temple08DecalLight.dds
> U Release\Resources\Images\UV\Horse02.tga
> U Release\Resources\Images\UV\MigrantBump.tga
> U Release\Resources\Images\UV\Phalangite04Bump.tga
> U Release\Resources\Images\UV\Villa03.tga
> U Release\Resources\Images\UV\Ballista.tga
> U Release\Resources\Images\UV\Sheep.tga
> U Release\Resources\Images\UV\Commander02.tga
> U Release\Resources\Images\UV\FortKeep.tga
> U Release\Resources\Images\UV\Shields.tga
> U Release\Resources\Images\UV\Temple09.tga
> U Release\Resources\Images\UV\Wall.tga
> U Release\Resources\Images\UV\Peltast06Bump.tga
> U Release\Resources\Images\UV\Phalangite04.tga
> U Release\Resources\Images\UV\Commander02Bump.tga
> U Release\Resources\Images\UV\FortKeepBump.tga
> U Release\Resources\Images\UV\UnitBlood.tga
> U Release\Resources\Images\UV\Library.tga
> U Release\Resources\Images\UV\Hoplite12.tga
> U Release\Resources\Images\UV\Peltast06.tga
> U Release\Resources\Images\UV\Worker02.tga
> U Release\Resources\Images\UV\Hoplite12Bump.tga
> U Release\Resources\Images\UV\Temple08.tga
> U Release\Resources\Images\UV\Migrant.tga
> svn: Could not save the URL of the version resource
> svn: Caught signal
I canceled because it will transmit over 2G of data if I let it go all
the way. Now, here's the files that have actually changed:
> C:\Projects\Hegemony.test>svn status
> M Release\Hegemony.exe
> R + Release\Resources\Entities\Brigades\Generic Land Caravan.xnt
> M Release\Resources\Entities\Brigades\formations\catapult formations.xnt
> M Release\Resources\Entities\Brigades\Macedonian Military Brigades.xnt
> M Release\Resources\Entities\Brigades\Generic General Brigade.xnt
> M Release\Resources\Entities\Brigades\Generic Catapult Brigade.xnt
> R + Release\Resources\Entities\Brigades\Generic Sea Caravan.xnt
> M Release\Resources\Entities\Units\Catapult Unit.xnt
> M Release\Resources\Entities\Meshes\Peltast\PeltastLowerRes.xnt
> M Release\Resources\Entities\Meshes\Peltast\PeltastLowestRes.xnt
> A + Release\Resources\Entities\Meshes\General\GeneralMini.xnt
> M Release\Resources\Entities\Meshes\WallRoughShorter.xnt
> R + Release\Resources\Entities\Meshes\Banners\Banner01.xnt
> M Release\Resources\Entities\Meshes\FarmFence.xnt
> M Release\Resources\Entities\Meshes\PotCratePile.xnt
> A + Release\Resources\Entities\Meshes\Brazier.xnt
> R + Release\Resources\Entities\Meshes\Particles\brazier fire particles.xnt
> A + Release\Resources\Entities\Meshes\Particles\javelinparticles.xnt
> R + Release\Resources\Entities\Meshes\Particles\cropfireparticles.xnt
> R + Release\Resources\Entities\Meshes\Particles\harvestparticles.xnt
> R + Release\Resources\Entities\Meshes\Particles\brigadedustparticles.xnt
> R + Release\Resources\Entities\Meshes\Particles\smokeparticles.xnt
> R + Release\Resources\Entities\Meshes\Particles\bloodparticles.xnt
> R + Release\Resources\Entities\Meshes\Particles\dustparticles.xnt
> A + Release\Resources\Entities\Meshes\WallTowerRoughSmall.xnt
> M Release\Resources\Entities\Meshes\WallTower03.ent
> D Release\Resources\Entities\Meshes\Farm02.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaWalk.ent
> D Release\Resources\Entities\Meshes\Siege\Ballista.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaRun.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaAttackRange1.ent
> D Release\Resources\Entities\Meshes\Siege\BallistaShuffle.ent
> A + Release\Resources\Entities\Meshes\Siege\BallistaHighRes.xnt
> D Release\Resources\Entities\Meshes\Siege\BallistaIdle.ent
> A + Release\Resources\Entities\Meshes\WallTowerRough.xnt
> M Release\Resources\Entities\Meshes\WallTowerSmall.ent
> D Release\Resources\Entities\Meshes\Farm.ent
> M Release\Resources\Entities\Bones\Ballista\Idle.xnt
> D Release\Resources\Entities\Bones\Ballista\Temp.xnt
> M Release\Resources\Entities\Scenarios\campaign.xnt
> M Release\Resources\Images\Water\masks\watermask65537.dds
> M Release\Resources\Images\Water\masks\watermask65538.dds
> M Release\Resources\Images\Water\masks\watermask65539.dds
> M Release\Resources\Images\Water\masks\watermask131073.dds
> M Release\Resources\Images\Water\masks\watermask131074.dds
> M Release\Resources\Images\Water\masks\watermask131075.dds
> M Release\Resources\Images\Water\masks\watermask131076.dds
> M Release\Resources\Images\Water\masks\watermask131077.dds
> M Release\Resources\Images\Water\masks\watermask262146.dds
> M Release\Resources\Images\Water\masks\watermask262147.dds
> M Release\Resources\Images\Water\masks\watermask262148.dds
> M Release\Resources\Images\Water\masks\watermask196610.dds
> M Release\Resources\Images\Water\masks\watermask262149.dds
> M Release\Resources\Images\Water\masks\watermask196611.dds
> M Release\Resources\Images\Water\masks\watermask196612.dds
> M Release\Resources\Images\Water\masks\watermask196613.dds
> M Release\Resources\Images\Water\masks\watermask327684.dds
> M Release\Resources\Images\Water\masks\watermask196609.dds
> M Release\Resources\Images\Water\masks\watermask65540.dds
> M Release\Resources\Images\Water\masks\watermask65541.dds
> M Release\Resources\Images\GUI\MapGUI.tga
> R + Release\Resources\Images\GUI\SelectBuildingFriendly.tga
> A + Release\Resources\Images\Particles\woodsplinters2.dds
> A + Release\Resources\Images\UV\FarmAndStockPiles.tga
> M Release\Resources\Images\UV\Ballista.tga
> M Release\Resources\Images\UV\Peltast06.tga
As you can see, there's many files which are getting updated which never
actually changed, for instance, most of the Release\Resources\Images\UV\
directory.
Is there something we're doing wrong, or is this a shortcoming with
Subversion?
The server version we're running is 1.4.0, and the client is 1.4.3.
Cheers,
-Rick-
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Merging feature branch into trunk transmits unchanged files
Posted by Rick Yorgason <ri...@ldagames.com>.
Rick Yorgason wrote:
> Actually, my problem is that it's still transferring the entire files
> over the wire when I merge back into the trunk.
Okay, so I'm attempting to reproduce this issue in a sandbox, and I've
noticed that problem I'm having goes away when I ignore ancestry.
Now, I understand the difference between noticing and ignoring ancestry
when the merge is a range of revisions along a straight path, but I
don't really understand how Subversion uses the ancestry when comparing
two branches. Can anybody explain it for me?
-Rick-
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Merging feature branch into trunk transmits unchanged files
Posted by Rick Yorgason <ri...@ldagames.com>.
So, does nobody know why this happens?
-Rick-
Rick Yorgason wrote:
>> This means that svn will try to create a diff between the old and new
>> file, even if they're from totally different sources. In practice,
>> this probably works out okay, because any two binary files of the same
>> type probably have something in common, regardless of source (if only
>> the header, or any trailing in-file metadata).
>
> Actually, my problem is that it's still transferring the entire files
> over the wire when I merge back into the trunk.
>
>> C:\Projects\Hegemony.test\Release\Resources\Images\UV>svn merge
>> http://bender.ldastore.com/svn/Hegemony/trunk/Release/Resources/Images/UV@5596
>> http://bender.ldastore.com/svn/Hegemony/branches/rob/Release/Resources/Images/UV@5596
>>
>> U CityCluster01Bump.tga
>> U FortKeep_Ruins.tga
>> U Worker02Bump.tga
>> U CityCluster02Bump.tga
>> U shield_24.tga
>> U Temple08DecalLight.dds
>> U Horse02.tga
>> U MigrantBump.tga
>> U Phalangite04Bump.tga
>> U Villa03.tga
>> U Ballista.tga
>> U Sheep.tga
>> U Commander02.tga
>> U FortKeep.tga
>> U Shields.tga
>> U Temple09.tga
>> U Wall.tga
>> U Peltast06Bump.tga
>> U Phalangite04.tga
>> U Commander02Bump.tga
>> U FortKeepBump.tga
>> U UnitBlood.tga
>> U Library.tga
>> U Hoplite12.tga
>> U Peltast06.tga
>> U Worker02.tga
>> U Hoplite12Bump.tga
>> U Temple08.tga
>> U Migrant.tga
>>
>> C:\Projects\Hegemony.test\Release\Resources\Images\UV>svn status
>>
>> C:\Projects\Hegemony.test\Release\Resources\Images\UV>
>
> If I use TortoiseSVN it tells me that it transferred 116.46MB, (I don't
> know if theres a way to tell the svn to output the total amount of data
> transferred, but it takes about the same length of time) but all the
> files together add up to 30.1MB, and no files were changed.
>
> All these files were merged into the branch at some point between the
> last time the branch was merged back into the trunk and this time. The
> results of the merge are still exactly as expected, but it takes far
> longer than it should to simply merge some source code elsewhere in the
> tree back into the trunk.
>
> -Rick-
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Merging feature branch into trunk transmits unchanged files
Posted by Rick Yorgason <ri...@ldagames.com>.
Jared Hardy wrote:
> Somebody correct me if I'm wrong, but I think files are only marked
> R(eplaced) if they have actually been deleted, and a new file put in
> their place, using the svn tools. All other "replacements" are just
> marked as M(odified), because SVN has no record of the replacement.
Oh, I see. Thanks for the clarification.
> This means that svn will try to create a diff between the old and new
> file, even if they're from totally different sources. In practice,
> this probably works out okay, because any two binary files of the same
> type probably have something in common, regardless of source (if only
> the header, or any trailing in-file metadata).
Actually, my problem is that it's still transferring the entire files
over the wire when I merge back into the trunk.
> C:\Projects\Hegemony.test\Release\Resources\Images\UV>svn merge http://bender.ldastore.com/svn/Hegemony/trunk/Release/Resources/Images/UV@5596 http://bender.ldastore.com/svn/Hegemony/branches/rob/Release/Resources/Images/UV@5596
> U CityCluster01Bump.tga
> U FortKeep_Ruins.tga
> U Worker02Bump.tga
> U CityCluster02Bump.tga
> U shield_24.tga
> U Temple08DecalLight.dds
> U Horse02.tga
> U MigrantBump.tga
> U Phalangite04Bump.tga
> U Villa03.tga
> U Ballista.tga
> U Sheep.tga
> U Commander02.tga
> U FortKeep.tga
> U Shields.tga
> U Temple09.tga
> U Wall.tga
> U Peltast06Bump.tga
> U Phalangite04.tga
> U Commander02Bump.tga
> U FortKeepBump.tga
> U UnitBlood.tga
> U Library.tga
> U Hoplite12.tga
> U Peltast06.tga
> U Worker02.tga
> U Hoplite12Bump.tga
> U Temple08.tga
> U Migrant.tga
>
> C:\Projects\Hegemony.test\Release\Resources\Images\UV>svn status
>
> C:\Projects\Hegemony.test\Release\Resources\Images\UV>
If I use TortoiseSVN it tells me that it transferred 116.46MB, (I don't
know if theres a way to tell the svn to output the total amount of data
transferred, but it takes about the same length of time) but all the
files together add up to 30.1MB, and no files were changed.
All these files were merged into the branch at some point between the
last time the branch was merged back into the trunk and this time. The
results of the merge are still exactly as expected, but it takes far
longer than it should to simply merge some source code elsewhere in the
tree back into the trunk.
-Rick-
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Merging feature branch into trunk transmits unchanged files
Posted by Rick Yorgason <ri...@ldagames.com>.
Rick Yorgason wrote:
> The problem still exists with the correct revision numbers, though. The
> problem seems to be that when we merge the trunk into the branch,
> sometimes the files end up marked as modified instead of merged, and I'm
> not sure why. Here's an example:
Edit: I mean marked modified instead of replaced, not merged.
-Rick-
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Merging feature branch into trunk transmits unchanged files
Posted by Rick Yorgason <ri...@ldagames.com>.
Ryan Schmidt wrote:
> You don't want to merge the changes between trunk@100 and the branch@200
> -- that would also try to reapply the changes that occurred on the trunk
> between r100 and r200, which this working copy of trunk at r200 should
> already contain.
You are partly right; I'd assumed my coworker was merging properly
because his log messages matched up, but it turns out he accidentally
documented the wrong merge revision in his logs. Oops!
The problem still exists with the correct revision numbers, though. The
problem seems to be that when we merge the trunk into the branch,
sometimes the files end up marked as modified instead of merged, and I'm
not sure why. Here's an example:
> C:\Projects\Hegemony.rob\Release\Resources\Images\UV>svn merge -r 4930:5144 http://bender.ldastore.com/svn/Hegemony/trunk/Release/Resources/Images/UV
> D Gate04.tga
> D Gate01.dds
> D Phalangist03.tga
> U Phalangite04.tga
> U Commander02Bump.tga
> A ShieldBump.tga
> U CityCluster01Bump.tga
> A Worker02Bump.tga
> U CityCluster02Bump.tga
> U shield_24.tga
> D Banners\IllyrianBanner.tga
> D Banners\AthenianBanner.tga
> D Banners\PaeonianBanner.tga
> D Banners\IndependentBanner.tga
> D Banners\MacedonianBanner.tga
> A Banners\BannerInde.tga
> A Banners\BannerThebesPhocis.tga
> A Banners\BannerElisMessenia.tga
> A Banners\BannerThessalyPherae.tga
> A Banners\BannerCorinthArgos.tga
> A Banners\BannerPaeoniaIllyria.tga
> D Banners\bannerbump.tga
> A Banners\bannerbump.tga
> A Banners\BannerEpirusAcarnania.tga
> A Banners\BannerPersiaCrete.tga
> A Banners\BannerArcadiaAchaea.tga
> A Banners\BannerBalkanDanube.tga
> A Banners\BannerMacedonAthens.tga
> A Banners\BannerSpartaAetolia.tga
> A Banners\BannerChalcidianThraceW.tga
> A Banners\BannerThraceCentEast.tga
> U Faces.tga
> A WallBump.tga
> A MigrantBump.tga
> U UnitBlood.tga
> U Phalangite04Bump.tga
> U Hoplite12.tga
> U Commander02.tga
> A Worker02.tga
> U Hoplite12Bump.tga
> U Shields.tga
> U Wall.tga
> A Migrant.tga
>
> C:\Projects\Hegemony.rob\Release\Resources\Images\UV>svn status
> A + ShieldBump.tga
> A + Worker02Bump.tga
> M CityCluster01Bump.tga
> M CityCluster02Bump.tga
> M shield_24.tga
> M Faces.tga
> A + MigrantBump.tga
> M Phalangite04Bump.tga
> M Commander02.tga
> M Shields.tga
> D Phalangist03.tga
> M Wall.tga
> M Phalangite04.tga
> D Gate04.tga
> M Commander02Bump.tga
> A + Banners\BannerInde.tga
> A + Banners\BannerThebesPhocis.tga
> A + Banners\BannerElisMessenia.tga
> A + Banners\BannerThessalyPherae.tga
> D Banners\IllyrianBanner.tga
> D Banners\AthenianBanner.tga
> A + Banners\BannerSpartaAetolia.tga
> D Banners\PaeonianBanner.tga
> A + Banners\BannerThraceCentEast.tga
> A + Banners\BannerChalcidianThraceW.tga
> D Banners\IndependentBanner.tga
> D Banners\MacedonianBanner.tga
> A + Banners\BannerCorinthArgos.tga
> A + Banners\BannerPaeoniaIllyria.tga
> R + Banners\bannerbump.tga
> A + Banners\BannerEpirusAcarnania.tga
> A + Banners\BannerPersiaCrete.tga
> A + Banners\BannerArcadiaAchaea.tga
> A + Banners\BannerBalkanDanube.tga
> A + Banners\BannerMacedonAthens.tga
> D Gate01.dds
> A + WallBump.tga
> M UnitBlood.tga
> M Hoplite12.tga
> A + Worker02.tga
> M Hoplite12Bump.tga
> A + Migrant.tga
Unless I'm wrong, all of those files with an M next to them should have
an R next to them.
-Rick-
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Merging feature branch into trunk transmits unchanged files
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 13, 2007, at 12:33, Rick Yorgason wrote:
> I'm posting this in users instead of dev in hopes that this is our
> fault and not yours ;)
Eh... Well, even if there were a Subversion bug, you would be asked
to post to the users list, unless you are contributing actual code
changes to the Subversion project, or discussing code changes, or in
some other way contributing to the development of Subversion. Bug
reports though are handled on the users list, where if someone agrees
that it's a bug, you will be told that you may file an issue in the
issue tracker.
However, I don't think you've found a bug. :-) Read on:
> I'm one of two programmers at a small game company and we use
> Subversion for all our code and art assets. Because of this, it
> means our trunk is very big; a checked out copy is 7.61 GB
> (including .svn files), with a lot of binary files.
>
> We use branches to avoid breaking the other programmer's code while
> still being able to backup our changes and occasionally work from
> home, so this is a typical feature branch pattern.
>
> Unfortunately, when we merge the synchronized feature branch into
> the trunk, it seems to transmit files which haven't actually been
> changed. For instance, branches/rob merged with trunk@5548 at
> revision 5596, and when I merge, I get...
>
>> C:\Projects\Hegemony.test>svn merge http://bender.ldastore.com/svn/
>> Hegemony/trunk@5548 http://bender.ldastore.com/svn/Hegemony/
>> branches/rob@5596
[snip]
> As you can see, there's many files which are getting updated which
> never actually changed, for instance, most of the Release\Resources
> \Images\UV\ directory.
>
> Is there something we're doing wrong, or is this a shortcoming with
> Subversion?
>
> The server version we're running is 1.4.0, and the client is 1.4.3.
Let me see if I understood the situation accurately. You have a
trunk. And you have a branch that was created from the trunk at some
revision, let's say r100. And then independent development took place
on trunk and the branch, and now the HEAD is at, say, r200. You said
the feature branch is synchronized -- does this mean you have already
merged the changes from r100 to r200 of the trunk into the branch? If
so, then the branch at r200 is the same as the trunk at r200 except
that it contains the new feature. So the way that you would bring
this back into the trunk is to go into a working copy of the trunk at
r200 and merge in the changes between the trunk r200 and the branch
r200:
C:\Path\To\WorkingCopyOfTrunk>svn merge http://bender.ldastore.com/
svn/Hegemony/trunk@200 http://bender.ldastore.com/svn/Hegemony/
branches/rob@200
You don't want to merge the changes between trunk@100 and the
branch@200 -- that would also try to reapply the changes that
occurred on the trunk between r100 and r200, which this working copy
of trunk at r200 should already contain.
--
To reply to the mailing list, please use your mailer's Reply To All
function
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org