* how to arrange source control?
@ 2009-04-27 14:45 Bob Dobbs
0 siblings, 0 replies; 3+ messages in thread
From: Bob Dobbs @ 2009-04-27 14:45 UTC (permalink / raw)
To: git
If I have all my (source and executables) under one directory, like:
rootdir
libs
lib1
lib2
lib3
....
app1
release
debug
data
....
app2
....
app3
....
....
what is the best way to use git? Should I run "git add ." in 'rootdir' or run it in each application and library? These libraries
are used by all of the applications.
thanks,
Bob
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: how to arrange source control?
@ 2009-04-27 22:08 John Dlugosz
[not found] ` <20090428112423.GA28151@ralph>
0 siblings, 1 reply; 3+ messages in thread
From: John Dlugosz @ 2009-04-27 22:08 UTC (permalink / raw)
To: git; +Cc: bob
>> what is the best way to use git? Should I run "git add ." in
'rootdir' or run it in each
>> application and library?
>> These libraries are used by all of the applications.
I had a similar issue I discussed on this mailing list a few weeks ago.
If the apps really are separate apps, from a development perspective,
you will want each in a separate repository. That way you are not
always being bothered by totally irrelevant changes by others.
But, git doesn't like the libraries arranged that way. If you make each
library a git submodule, they will all be in a subdirectory under each
app, not a peer with them. This does have the advantage that each app
could be using a different version of the libs. If they are meant to be
released as a suite, you will still find that handy during development,
while waiting for the ripple effect to catch up to the top level after
something changes in a lib.
I've not taken it to its logical conclusion of libs that use other libs
which are also used directly by the app.
If you keep your existing directory structure, you can certainly make
each lib its own repository, and not rely on git to track specific
library versions for you. But I think that will bite you when you need
to check out something old, such as to make a patch for an existing
version or compare behavior against an older version.
--John
(please forgive the footer; it's not my idea or my choice)
TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited.
If you received this in error, please contact the sender and delete the material from any computer.
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: how to arrange source control?
[not found] ` <20090428112423.GA28151@ralph>
@ 2009-04-28 16:42 ` John Dlugosz
0 siblings, 0 replies; 3+ messages in thread
From: John Dlugosz @ 2009-04-28 16:42 UTC (permalink / raw)
To: Bob Dobbs; +Cc: git
(back on the list so others can correct what I said)
> So, if you make libraries submodules within an app, does git make a
new
> copy of the library source
> and put it under the app, or does it just store a different kind of
> object representing the current
> state of the library source under the app?
It looks like copies of the source. Obviously they are, if the versions
differ! But git supposedly does some hard linking under the hood, so it
doesn't waste disk space. I don't know if that applies to the working
directory files too, or just to the internal repository implementation
files.
> Is there a way to later automatically merge library changes done in
> different apps?
No, it's like any other change. That library will have its own git repo
in that subdirectory. You need to check out a branch, change it, then
push. The other apps, even on the same machine, will not use the new
stuff until you tell it to. That's a feature -- it will keep pinned to
what it was building against until you are ready to upgrade.
> > I've not taken it to its logical conclusion of libs that use other
> libs
> > which are also used directly by the app.
>
> Yes, some of my libs use other libs, all of which are used by certain
> apps.
>
> I've never used version control before. I always made a 'snapshot' of
> code a a milestone, but I'm hoping
> there is a better way.
Another way I thought about, that might be just the ticket for you, is
to make all the apps and libs in your current directory structure into
submodules of a single master suite repository, which doesn't have
anything in it other than those submodules.
--John
(mind the footer... here it comes!)
TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited.
If you received this in error, please contact the sender and delete the material from any computer.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-04-28 16:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-27 14:45 how to arrange source control? Bob Dobbs
-- strict thread matches above, loose matches on Subject: below --
2009-04-27 22:08 John Dlugosz
[not found] ` <20090428112423.GA28151@ralph>
2009-04-28 16:42 ` John Dlugosz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).