Skip to main content
gamedev.net
🔒 Locked

Mini repository?

Started by CipherCraft 5 replies 1.1k views
Original Post
CipherCraft
CipherCraft
Hey, Using a Perforce/CVS/Subversion is necessary when building games. But sometimes you want to try different approaches before your final commit. These trials can be large and complex by themselves, which would require saving several copies of your source and/or resource files. Handling those and knowing which was what again is a pain. So, what about a temporary local mini repository? I'm looking for one, but can't find it. I cannot imagine I'm the first with this idea - (c) just in case [wink] -, so: have any of you found or build such a tool? I'm looking to commit one, or several, files to a directory local repository, next to the 'official' repository I got the files from. (Hope you understand what I mean...) No projects, no LAN, no central storage, and such. tia, CipherCraft
paulecoyote
paulecoyote
Quote:
Original post by Emmanuel Deloget
This is a case that branching is supposed to handle. Did you try this approach?


[smile] yeah, branching / tagging was the first thing that popped in to my mind when I read that post.
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
CipherCraft
CipherCraft
No, that's thinking too big. [wink]

Say I have four or five radically different ways to fix something in one or two files. Then I'm not gonna create four or five branches for that: that's shooting a mosquito with a A-bomb.

Maybe imagine the problem without a regular repository. I think you could have the same need in different scenarios, like editing your .bashrc or apache.conf.

I've tried CodePickle for Perforce for example, but integration just gets messy.
Emmanuel Deloget
Emmanuel Deloget
Quote:
Original post by CipherCraft
No, that's thinking too big. [wink]

Say I have four or five radically different ways to fix something in one or two files. Then I'm not gonna create four or five branches for that: that's shooting a mosquito with a A-bomb.

Maybe imagine the problem without a regular repository. I think you could have the same need in different scenarios, like editing your .bashrc or apache.conf.

I've tried CodePickle for Perforce for example, but integration just gets messy.


What you described in your OP is branching - with the only difference that you manage these branches by yourslef instead of letting the SCM do it. If you want to do it this way, feel free - but remember that basically you'll do the same job as your SCM but in a more time consuming fashion. Moreover, using your SCM to keep track of the branches will allow you to retrieve the code long after you deleted it.

About the number of branches, you don't have to worry - most SCM are handling them in a graceful way (wait... maybe not CVS...) and in the end, it won't take much space. Personnally, I see nothing wrong with this [smile]
DrEvil
DrEvil
That's definately branching. CVS does branching horribly, it copies the entire repository. Takes forever and wastes tons of hard drive space on the server. I don't know how Perforce handles branching. Branching/Tagging/Copying in SVN are essentially free. It basically sets up a copy of the repository in reference to the revision branched, so it's very fast, and uses very little server space.

It's not thinking too big. It's about the simplest thing you could possibly do to solve your problem. Depending on which method you choose to go with later you can then very easily merge those changes back into the main branch. You've basically described the purpose of branching.
hplus0603
hplus0603
You could use an SCM with support for local branching, such as BitKeeper.

Or you could fix it the first time, make sure it works, and check it in. Then remove that fix (locally) and fix it again in the other way, and compare. If it's better, check that in, else just revert.
enum Bool { True, False, FileNotFound };

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.