* Hello All and Seeking Information
@ 2008-11-24 16:28 Tim Visher
2008-11-24 16:35 ` Bruce Stephens
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Tim Visher @ 2008-11-24 16:28 UTC (permalink / raw)
To: git
Hello Everyone,
I'm new to the list so I figured I'd introduce myself instead of just
wall-flowering... "Hello"... :)
Anyway, I really like a lot of the concepts found in Git and the
reported power and flexibility of it are very intriguing. However,
there are some issues that I can't wrap my head around, such as how
you can guarantee that all developers are working on the same
code-base without a central repo. I would classify a lot of my issues
as paradigm rather than technically related. I understand a lot of
Git's underpinnings and the basic usage of it, I just can't wrap my
head around the higher-order parts of it.
I've done some Googling and I can't find a good 'Introduction to
Distributed SCM Concepts for Centralized SCM Developers' article yet.
Ideally, this would be an article all about the high-level thought
processes that go into utilizing Distributed SCM in a team environment
where having a single canonical representation of your project that
all developers are working off of is important.
Anyway, looking forward to participating.
P.S. Anyone want to tell me why the Git Mailing List was set-up
monolithically rather than the typical git-dev, git-user, git-admin,
git-x etc.? I don't plan on hacking on Git so having the Dev mail in
the list is just noise for me. I'm sure other people think that too.
Just wondering.
--
In Christ,
Timmy V.
http://burningones.com/
http://five.sentenc.es/ - Spend less time on e-mail
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Hello All and Seeking Information
2008-11-24 16:28 Hello All and Seeking Information Tim Visher
@ 2008-11-24 16:35 ` Bruce Stephens
2008-11-24 16:39 ` Christian MICHON
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Bruce Stephens @ 2008-11-24 16:35 UTC (permalink / raw)
To: Tim Visher; +Cc: git
"Tim Visher" <tim.visher@gmail.com> writes:
[...]
> However, there are some issues that I can't wrap my head around,
> such as how you can guarantee that all developers are working on the
> same code-base without a central repo.
You can't. That's the point.
If developers wish to use a central repository and always to work
based on that, then they can. But the tool doesn't enforce that.
<http://koweycode.blogspot.com/2008/11/iterative-commiting.html>
describes a common (IME) benefit.
[...]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Hello All and Seeking Information
2008-11-24 16:28 Hello All and Seeking Information Tim Visher
2008-11-24 16:35 ` Bruce Stephens
@ 2008-11-24 16:39 ` Christian MICHON
2008-11-24 18:22 ` Jakub Narebski
2008-11-25 7:57 ` Pete Harlan
3 siblings, 0 replies; 5+ messages in thread
From: Christian MICHON @ 2008-11-24 16:39 UTC (permalink / raw)
To: Tim Visher; +Cc: git
On Mon, Nov 24, 2008 at 5:28 PM, Tim Visher <tim.visher@gmail.com> wrote:
> Hello Everyone,
>
> I'm new to the list so I figured I'd introduce myself instead of just
> wall-flowering... "Hello"... :)
>
> Anyway, I really like a lot of the concepts found in Git and the
> reported power and flexibility of it are very intriguing. However,
> there are some issues that I can't wrap my head around, such as how
> you can guarantee that all developers are working on the same
> code-base without a central repo. I would classify a lot of my issues
> as paradigm rather than technically related. I understand a lot of
> Git's underpinnings and the basic usage of it, I just can't wrap my
> head around the higher-order parts of it.
>
> I've done some Googling and I can't find a good 'Introduction to
> Distributed SCM Concepts for Centralized SCM Developers' article yet.
> Ideally, this would be an article all about the high-level thought
> processes that go into utilizing Distributed SCM in a team environment
> where having a single canonical representation of your project that
> all developers are working off of is important.
>
http://git.or.cz/gitwiki/LinusTalk200705Transcript
but the video is obviously more fun
http://www.youtube.com/watch?v=4XpnKHJAok8
--
Christian
--
http://detaolb.sourceforge.net/, a linux distribution for Qemu with Git inside !
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Hello All and Seeking Information
2008-11-24 16:28 Hello All and Seeking Information Tim Visher
2008-11-24 16:35 ` Bruce Stephens
2008-11-24 16:39 ` Christian MICHON
@ 2008-11-24 18:22 ` Jakub Narebski
2008-11-25 7:57 ` Pete Harlan
3 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2008-11-24 18:22 UTC (permalink / raw)
To: Tim Visher; +Cc: git
"Tim Visher" <tim.visher@gmail.com> writes:
> Hello Everyone,
>
> I'm new to the list so I figured I'd introduce myself instead of just
> wall-flowering... "Hello"... :)
>
> Anyway, I really like a lot of the concepts found in Git and the
> reported power and flexibility of it are very intriguing. However,
> there are some issues that I can't wrap my head around, such as how
> you can guarantee that all developers are working on the same
> code-base without a central repo. I would classify a lot of my issues
> as paradigm rather than technically related. I understand a lot of
> Git's underpinnings and the basic usage of it, I just can't wrap my
> head around the higher-order parts of it.
The idea behind Git repository format is content adressed filesystem,
which if I remember correctly was taken from Monotone (well, not
addressed by actual content, but SHA-1 cryptographic hash of
content+type). So if there is 134b8687c59e65ce06562ffb0e8be63ab7aa618b
object in some repository, it is the same object in all repositories,
even if it was created independently. That is one thing.
The other thing is that typical workflow calls for downloading changes
(fetching in git jargon) from some 'upstream' repository, the official
repository (one of official repositories) with code you are supposed
to base your changes upon.
Also easy to create branches, and very good support for merging (and
rebasing) makes it possible and easy to join (merge) lines of
development done independently from some older point of history. So
that even if you are not working on the same code-base I can
incorporate your changes, and you can incorporate mine.
>
> I've done some Googling and I can't find a good 'Introduction to
> Distributed SCM Concepts for Centralized SCM Developers' article yet.
> Ideally, this would be an article all about the high-level thought
> processes that go into utilizing Distributed SCM in a team environment
> where having a single canonical representation of your project that
> all developers are working off of is important.
See http://git.or.cz/gitwiki/GitDocumentation (and also main page of
this git wiki, Documentation mentioned on git homepage
(http://git.or.cz) including "Git User's Manual", and "The Git
Community Book" at http://book.git-scm.com
> P.S. Anyone want to tell me why the Git Mailing List was set-up
> monolithically rather than the typical git-dev, git-user, git-admin,
> git-x etc.? I don't plan on hacking on Git so having the Dev mail in
> the list is just noise for me. I'm sure other people think that too.
> Just wondering.
Because this Git is not so large project, and traffic on git mailing
list is not so large to support split? IIRC there was "Git for Human
Beings" aka git-users Google Group, but it doesn't seem to be there
any more. Also having common mailing list allow for better contact
between developers and git users (which hopefully would allow us to
avoid comon pitfalls with 'developers for developers' approach).
--
Jakub Narebski
Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Hello All and Seeking Information
2008-11-24 16:28 Hello All and Seeking Information Tim Visher
` (2 preceding siblings ...)
2008-11-24 18:22 ` Jakub Narebski
@ 2008-11-25 7:57 ` Pete Harlan
3 siblings, 0 replies; 5+ messages in thread
From: Pete Harlan @ 2008-11-25 7:57 UTC (permalink / raw)
To: Tim Visher; +Cc: git
Tim Visher wrote:
> there are some issues that I can't wrap my head around, such as how
> you can guarantee that all developers are working on the same
> code-base without a central repo.
You can have a central repo that represents the official lines of
development (branches, but "official" branches), and each developer
has local copies of those branches so they can compare their own work
against them.
If you don't have a central repo, then the developers can keep local
copies of other developers' branches when they're interested in them,
and compare their work against those.
Using the git project as an example, when you clone from
git://git.kernel.org/pub/scm/git/git.git you will find "remote
branches" origin/master, origin/maint, etc. They're stored locally in
your repo; the name "remote" only refers to the fact that at one time
(when you last cloned or fetched) they corresponded to branches in the
origin repo. You can list your copies of these branches with "git
branch -r". You can freshen them to agree with the origin with "git
fetch origin".
Your local branches ("local" referring to the fact that they exist
_only_ locally), listed by "git branch", are what you develop on.
After you do "git fetch", you can compare your local branches against
your copies of the remote branches to see if the remote repo has new
work you haven't yet incorporated into your local branches. You can
also compare against them to see if you have work they don't.
So each developer can compare what they have against what others have,
and keep things in sync as much as they wish to (and no more), fairly
easily.
--Pete
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-11-25 7:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-24 16:28 Hello All and Seeking Information Tim Visher
2008-11-24 16:35 ` Bruce Stephens
2008-11-24 16:39 ` Christian MICHON
2008-11-24 18:22 ` Jakub Narebski
2008-11-25 7:57 ` Pete Harlan
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).