On Fri, Jul 31, 2009 at 08:28:19AM +0200, FEJES Jozsef wrote:
> Yes, I didn't the know the correct phrase but cheap copies are exactly
> what I want. So, as an example, let's say we have two class libraries A
> and B, and two web projects, C and D. When compiling, we get an A.dll, a
> B.dll, and the web pages compile into a directory structure. We would
> like to publish this entire thing in one transaction like this:
> tags\1.2.3.4\lib\A.dll
> tags\1.2.3.4\lib\B.dll
> tags\1.2.3.4\webC\stuff
> tags\1.2.3.4\webC\bin\webC.dll
> tags\1.2.3.4\webC\bin\A.dll [+]
> tags\1.2.3.4\webD\stuff
> tags\1.2.3.4\webC\bin\webD.dll
> tags\1.2.3.4\webD\bin\A.dll [+]
> tags\1.2.3.4\webD\bin\B.dll [+]
> Where the marked files shouild be cheap copies from lib. Externals are
> no good either because we require that all dll's be in the same
> directory. I know there are many places to workaround this issue, but it
> would be really easier this way.
"cheap copies" refers to the fact that A.dll is not included in your
repository multiple times when you svn cp it. It's not about a strategy
for making those copies available in other directories. Just so you're
clear on search terms.
I think you really do want externals since bin/A.dll is really a
*reference* to lib/A.dll. If you copy it instead, you introduce the
possibility that someone will change one and not the other, and now you
have divergence, and that is bad.
Why do you say that externals can't work for you? What does having all
dll's in the same directory have to do with anything? Do you know that
svn 1.6 supports file-level externals?
> So let's forget my previous terminology, my new question is: if I copy a
> file not yet committed, is that a cheap copy or not?
Yes, but I think you're asking the wrong question.
> The lack of + made me think that these files are not cheap copies, just
> regular, space-wasting copies, but clearly I was wrong about the meaning
> of it. So is it cheap or not? How do I tell the difference without the +
> sign?
All copies in svn are "cheap copies" because the data in the file is not
stored in multiple places. When one of the "copies" changes, it's a
different story -- I don't know if svn still manages these changed
copies as deltas from the original, or if once you make a change a new
version of the file is created. I'm doubly unsure about this in the case
of binary files like .dlls, though I don't think that's a different case
due to binary diffing.
tyler
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2377439
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-07-31 17:20:28 CEST