torque 3d beta 3: list of removed, renamed, added files?
by Peter Mowry · in Torque 3D Professional · 06/28/2009 (2:10 am) · 13 replies
I find it significantly more difficult to do merge updates when there are files that were removed, renamed, or added... As opposed to just modified. Is there a list?
#2
I use winmerge and have had no proplems merging,
and believe me, the changes I've made in code are not subtle.
06/28/2009 (1:19 pm)
dunno guys,I use winmerge and have had no proplems merging,
and believe me, the changes I've made in code are not subtle.
#3
06/28/2009 (1:53 pm)
Winmerge is better than some list.
#4
But WinMerge does not really reduce the work to search for stuff that was moved around until you throw it in your SVN to do a compare there.
06/28/2009 (2:09 pm)
I use winmerge as wellBut WinMerge does not really reduce the work to search for stuff that was moved around until you throw it in your SVN to do a compare there.
#5
Renamed files or those that have simply been moved from one folder to another are a bit harder to figure out and generally require a bit of detective work. A list of those might be useful.
06/28/2009 (4:13 pm)
I use Beyond Compare which is not free like Winmerge but it does an excellent and immediate job of highlighting those source files that have been changed, added, or removed between releases. Renamed files or those that have simply been moved from one folder to another are a bit harder to figure out and generally require a bit of detective work. A list of those might be useful.
#6
Unfortunately, Subversion (*) has no easy way for this (at least none that I know of). You would have to run a custom script on its log output. However, as Subversion has no real file renaming support (it does an "add" and "delete" and copies the file history), this is useless for file renames. Renames should be very rare, on the other hand.
(*) Don't get me started on Subversion; the character limit on posts here isn't enough to cover all the bad things I would have to say about it. For anyone who has a choice: avoid it like the plague and use Mercurial instead. Subversion is something that should simply have never happened.
06/28/2009 (4:36 pm)
Unfortunately, Subversion (*) has no easy way for this (at least none that I know of). You would have to run a custom script on its log output. However, as Subversion has no real file renaming support (it does an "add" and "delete" and copies the file history), this is useless for file renames. Renames should be very rare, on the other hand.
(*) Don't get me started on Subversion; the character limit on posts here isn't enough to cover all the bad things I would have to say about it. For anyone who has a choice: avoid it like the plague and use Mercurial instead. Subversion is something that should simply have never happened.
#7
...
Overall, I'm kind of new to the merging stuff, so trying to find ways to make it easier. I just "finished" merging Torque 3D beta 3 with my changes, but:
1) I still have some build errors for "NP CityHeroDefense Plugin" (appended)
2) They changed a little how the camera spawn and player spawning works, so maybe this is the reason for "3)"
3) it crashes when I start the mission, but not sure if it's related or not yet to "2)"
...
That is interesting to hear about the negative comments for subversion. From my perspective, Subversion is a big upgrade to CVS. I've also used Perforce and SourceSafe a little (and some local RCS unix back in the day), but mostly just CVS and then more recently Subversion.
Er, it sounded to me like GG uses Subversion for Torque 3D?
...
Thanks for comments
06/28/2009 (7:02 pm)
I am also using WinMerge. But this only tells me changes to the files with the same name-and-location. I don't think WinMerge tells me what files were renamed, added, deleted, or moved. Unless I missed something? Btw, this is my first time using WinMerge, but it seems theoretically difficult (and theoretically error prone) for WinMerge to try to tell where files were moved and renamed....
Overall, I'm kind of new to the merging stuff, so trying to find ways to make it easier. I just "finished" merging Torque 3D beta 3 with my changes, but:
1) I still have some build errors for "NP CityHeroDefense Plugin" (appended)
2) They changed a little how the camera spawn and player spawning works, so maybe this is the reason for "3)"
3) it crashes when I start the mission, but not sure if it's related or not yet to "2)"
...
That is interesting to hear about the negative comments for subversion. From my perspective, Subversion is a big upgrade to CVS. I've also used Perforce and SourceSafe a little (and some local RCS unix back in the day), but mostly just CVS and then more recently Subversion.
Er, it sounded to me like GG uses Subversion for Torque 3D?
...
Thanks for comments
#8
svn diff -r50:58 --summarize
Then removing all the lines where the first char in the string is "M", we get just add and delete lines (A and D)
A My Projects\CityHeroDefense\game\art\shapes\Heroes\BoogieMan\BoogieMan.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\BoogieMan
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Sorceress\Sorceress.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Sorceress
A My Projects\CityHeroDefense\game\art\shapes\Heroes\heroes.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Quick\Quick.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Quick
Projects\CityHeroDefense\game\art\shapes\Monsters\zombie\Torque_Files\Zombie.cs
A My Projects\CityHeroDefense\game\art\shapes\Monsters\monsters.cs
A My Projects\CityHeroDefense\game\art\datablocks\weapons\mg.cs
A My Projects\CityHeroDefense\game\art\datablocks\weapons\melee.cs
A My Projects\CityHeroDefense\game\scripts\server\weapons\mg.cs
A My Projects\CityHeroDefense\game\scripts\server\weapons\melee.cs
06/28/2009 (7:04 pm)
@Rene Damm: btw, here is an easy way to get the list (such as between rev 50 to 58) (such as between beta 2 to beta 3, etc), using the example of my checkout:svn diff -r50:58 --summarize
Then removing all the lines where the first char in the string is "M", we get just add and delete lines (A and D)
A My Projects\CityHeroDefense\game\art\shapes\Heroes\BoogieMan\BoogieMan.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\BoogieMan
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Sorceress\Sorceress.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Sorceress
A My Projects\CityHeroDefense\game\art\shapes\Heroes\heroes.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Quick\Quick.cs
A My Projects\CityHeroDefense\game\art\shapes\Heroes\Quick
Projects\CityHeroDefense\game\art\shapes\Monsters\zombie\Torque_Files\Zombie.cs
A My Projects\CityHeroDefense\game\art\shapes\Monsters\monsters.cs
A My Projects\CityHeroDefense\game\art\datablocks\weapons\mg.cs
A My Projects\CityHeroDefense\game\art\datablocks\weapons\melee.cs
A My Projects\CityHeroDefense\game\scripts\server\weapons\mg.cs
A My Projects\CityHeroDefense\game\scripts\server\weapons\melee.cs
#9
I just did a simple experiment to confirm that "svn move" and "svn rename" just causes it to do "svn delete" and "svn add"
However, I think the "A" and "D" (add, delete) list, although not as good as an actual rename list and move list, could still be useful.
I think part of the confusion for me is that there are so many generated files that it's hard to tell with WinMerge which files were actually genuine add/delete (or rename/move categorized as add/delete). I just did copy right-to-left for anything that was new. I guess this just means I would still have a copy of the old file, but probably that shouldn't matter as long as it's not included in the vcproj.
06/28/2009 (7:15 pm)
of course (add, delete) it's not the same as (add, delete, rename, move)I just did a simple experiment to confirm that "svn move" and "svn rename" just causes it to do "svn delete" and "svn add"
However, I think the "A" and "D" (add, delete) list, although not as good as an actual rename list and move list, could still be useful.
I think part of the confusion for me is that there are so many generated files that it's hard to tell with WinMerge which files were actually genuine add/delete (or rename/move categorized as add/delete). I just did copy right-to-left for anything that was new. I guess this just means I would still have a copy of the old file, but probably that shouldn't matter as long as it's not included in the vcproj.
#10
As for version control tools, Perforce rocked but it is pretty awkward to work with if your font-end isn't really well integrated. Also, I think it doesn't have much to offer when running up against its modern and free competitors like Mercurial. For me, Mercurial was the end to all the anger management lessons I had to take because of Subversion.
Subversion is incredibly slow, needs network access for just about any operations, constantly needs an "svn cleanup" because it f****d with your working copy, eats disk space for breakfast, and so much more.
How often have I intermingled development work into my pristine working copy for bugfixing or mixed different development branches in the same working copy just because I couldn't afford the time and disk space to set up another working copy with Subversion? Countless times. And it was always lots of trouble. Bad commits, spurious bugs, etc.
With Mercurial, I never mess up working copies. Cloning a repository is lightning fast and Mercurial is smart in hardlinking data in the repo that hasn't changed.
Yes, Subversion is an improvement over CVS but does that really mean that much? CVS is from the dark ages so Subversion improving on the dark ages still doesn't make it a modern VC tool.
//Edit: Yes, GG uses Subversion but I'd be the first one to raise both arms and feet for a change over to Mercurial.
//Edit: Sorry, I am completely derailing this thread with my ranting about Subversion. Will stop now.
06/28/2009 (7:21 pm)
Well, this list tells you no more than WinMerge does. A folder comparison will show all deleted, added, and modified files. However, you can't really trace the renames with Subversion (at least to my knowledge; you see an add and a delete and don't know if they relate) and this would be the only useful information to be gleaned from the VC logs. The rest really immediately obvious in the diff tool.As for version control tools, Perforce rocked but it is pretty awkward to work with if your font-end isn't really well integrated. Also, I think it doesn't have much to offer when running up against its modern and free competitors like Mercurial. For me, Mercurial was the end to all the anger management lessons I had to take because of Subversion.
Subversion is incredibly slow, needs network access for just about any operations, constantly needs an "svn cleanup" because it f****d with your working copy, eats disk space for breakfast, and so much more.
How often have I intermingled development work into my pristine working copy for bugfixing or mixed different development branches in the same working copy just because I couldn't afford the time and disk space to set up another working copy with Subversion? Countless times. And it was always lots of trouble. Bad commits, spurious bugs, etc.
With Mercurial, I never mess up working copies. Cloning a repository is lightning fast and Mercurial is smart in hardlinking data in the repo that hasn't changed.
Yes, Subversion is an improvement over CVS but does that really mean that much? CVS is from the dark ages so Subversion improving on the dark ages still doesn't make it a modern VC tool.
//Edit: Yes, GG uses Subversion but I'd be the first one to raise both arms and feet for a change over to Mercurial.
//Edit: Sorry, I am completely derailing this thread with my ranting about Subversion. Will stop now.
#11
Maybe I just need to go through WinMerge more carefully for next time (the beta 3 to beta 4 upgrade). Or do my own separate compare between (a fresh beta 3 install vs. fresh beta 4 install).
Though still at least curious as to whether the svn delete/add list would've helped me some.
...
This is new for me, to have a comment-tag system to mark specific areas as "different than GG's code" for merging with the latest updates, so I'm evolving that aspect too. It's definitely been essential so far, with (beta 1 to beta 2) and (beta 2 to beta 3), and I think a good learning experience might make stuff like doing branches easier for example.
06/29/2009 (3:21 am)
I have stuff working now, but here's a specific example of something I missed with WinMerge. WinMerge gave me a list of like 8000 file compares (including generated files), and I did a lot of blind copy right-to-left. So I didn't notice that (My Projects\[game]\game\tools\missionEditor) folder was deleted, which caused a crash.Maybe I just need to go through WinMerge more carefully for next time (the beta 3 to beta 4 upgrade). Or do my own separate compare between (a fresh beta 3 install vs. fresh beta 4 install).
Though still at least curious as to whether the svn delete/add list would've helped me some.
...
This is new for me, to have a comment-tag system to mark specific areas as "different than GG's code" for merging with the latest updates, so I'm evolving that aspect too. It's definitely been essential so far, with (beta 1 to beta 2) and (beta 2 to beta 3), and I think a good learning experience might make stuff like doing branches easier for example.
#12
Apparently both SourceForge and Google Code support Mercurial, so that sounds like a good lead O:-)
I guess another one is Sourceforge supports Git, and rumor says Google Code may also plan too...
That said, they both also support Subversion O:-)
06/29/2009 (3:29 am)
I've been fine with subversion (my day job uses it too), but that's really only comparing it to CVS, and to CVS's precursor RCS. I like to watch out for new tools too. But maybe someday I should look into Mercurial or a different Subversion alternative.Apparently both SourceForge and Google Code support Mercurial, so that sounds like a good lead O:-)
I guess another one is Sourceforge supports Git, and rumor says Google Code may also plan too...
That said, they both also support Subversion O:-)
#13
Again, Subversion totally gets in the way here as when merging in this direction, you'll lose all your version control state of the working copy (all those thousands of scattered .svn directories). With Mercurial it's no problem. You just bring the single .hg directory over and then do the necessary adds and deletes and commit. Easy as pie.
06/29/2009 (3:43 am)
Yes, indeed, the merge list can be of daunting size. One easy way to find what you actually need to merge is to first do a diff against a pristine copy of the previous release that you have been working off. Also, if possible, I would also always merge from your working directory based on the old release *into* the new release. This vastly reduces merging work.Again, Subversion totally gets in the way here as when merging in this direction, you'll lose all your version control state of the working copy (all those thousands of scattered .svn directories). With Mercurial it's no problem. You just bring the single .hg directory over and then do the necessary adds and deletes and commit. Easy as pie.
Torque 3D Owner Marc Dreamora Schaerer
Gayasoft